在java中从一个类到另一个类访问JDBC连接变量
我是java初学者 我想从类test.java到jdk1.8中的Test2.java访问变量JDBC数据库连接变量conn。这两个类都在工具包中。数据库名为UOHStudents,表名为usertest 我的问题是:我可以通过在另一个类中创建对象来访问连接变量吗?如果是,请检查代码我在哪里出错 test.java在java中从一个类到另一个类访问JDBC连接变量,java,sql,oracle,jdbc,Java,Sql,Oracle,Jdbc,我是java初学者 我想从类test.java到jdk1.8中的Test2.java访问变量JDBC数据库连接变量conn。这两个类都在工具包中。数据库名为UOHStudents,表名为usertest 我的问题是:我可以通过在另一个类中创建对象来访问连接变量吗?如果是,请检查代码我在哪里出错 test.java mport java.sql.*; public class test { static String USERNAME= "root"; static String
mport java.sql.*;
public class test
{
static String USERNAME= "root";
static String CONN_STRING= "jdbc:mysql://localhost:3306/UOHStudents";
public static void main(String args[])
{
try
{
Connection conn;
Statement st;
ResultSet rs;
//get connection
conn = DriverManager.getConnection(CONN_STRING,USERNAME,"");
st=conn.createStatement();
String sql1="CREATE TABLE if not exists usertest(name varchar(10), surname varchar(10),FatherName varchar(25))";
st.executeUpdate(sql1);
System.out.println("table created");
String sql2="INSERT INTO usertest values('preeti', 'singh','Mr shiv kumar singh'),('neha', 'singh','Mr shiv kumar singh'),('anil', 'kumar','Mr shiv kumar singh'),('rahul', 'kumar','Mr shiv kumar singh'),('ankita', 'kumari','Mr shiv kumar singh')";
st.executeUpdate(sql2);
System.out.println("record inserted");
String sql3= "SELECT * FROM usertest where surname='kumar'";
st.executeQuery(sql3);
rs=st.getResultSet();
while(rs.next())
{
System.out.println(rs.getString("name"));
System.out.println(rs.getString("surname"));
System.out.println(rs.getString("FatherName"));
}
}
catch(Exception e)
{
System.out.println(e);
}
}
}
Test2.java
package Tool;
import java.sql.*;
public class Test2
{
public static void main (String [] args) throws SQLException
{
Connection conn1;
Statement st1;
ResultSet rs1;
Tool.test ts = new Tool.test();
public Test2()
{
this.conn1 = ts.conn;
this.rs1 = ts.rs;
this.st1 =ts.st;
}
String p = "Select * from usertest where name = 'preeti'";
st1.executeQuery(p);
rs1 = st1.getResultSet();
while(rs1.next())
{
System.out.println(rs1.getString("name"));
System.out.println(rs1.getString("surname"));
System.out.println(rs1.getString("FatherName"));
}
}
}
与注册驱动程序和连接数据库相关的代码出现在
test
类的main
方法中。您需要向classtest
声明一个构造函数,并在构造函数中调用main
方法。尝试维护以下类的类级变量Connection、Statement、ResultSet代码>
public class test
{
Connection conn;
Statement st;
ResultSet rs;
public test()
{
main()
}
....
}
与注册驱动程序和连接数据库相关的代码出现在test
类的main
方法中。您需要向classtest
声明一个构造函数,并在构造函数中调用main
方法。尝试维护以下类的类级变量Connection、Statement、ResultSet代码>
public class test
{
Connection conn;
Statement st;
ResultSet rs;
public test()
{
main()
}
....
}