Java,将数据库连接传递到不同的 类。
Java, passing database connection into different classes.
我不明白 DatabaseAccess class 的用途。我很好奇对象名称 "conDA" 是如何包含数据库连接的,即使没有使用我创建的 getConnection() 方法。例子"con2 = new Connection2(conDA);"那个"conDA"对象名怎么理解为数据库的连接呢?
以下是代码:
import java.sql.*;
public class Connection1
{
static Connection connection;
static ConnectionDA conDA;
static Connection2 con2;
public static void main(String args[]) throws ClassNotFoundException, SQLException
{
conDA = new ConnectionDA(getConnection());
System.out.println("Con1 Connected!!");
con2 = new Connection2(conDA);
}
public static Connection getConnection() throws ClassNotFoundException, SQLException
{
Class.forName("com.ibm.db2.jcc.DB2Driver");
connection = DriverManager.getConnection("jdbc:db2://localhost:50000/Sample", "ZeroCool","siliconvalley");
return connection;
}
}
第 2 Class
import java.sql.*;
public class Connection2
{
ConnectionDA conDA;
Connection3 con3;
public Connection2(ConnectionDA conDA) throws ClassNotFoundException
{
this.conDA = new ConnectionDA(conDA.getConnection());
this.conDA = conDA;
System.out.println("Con2 Connected!!");
con3 = new Connection3(conDA);
}
}
第 3 Class
import java.sql.*;
public class Connection3
{
ConnectionDA conDA;
public Connection3(ConnectionDA conDA) throws ClassNotFoundException
{
this.conDA = new ConnectionDA(conDA.getConnection());
this.conDA = conDA;
System.out.println("Con3 Connected!!");
}
}
数据库访问Class
import java.sql.*;
public class ConnectionDA
{
Connection connection;
public ConnectionDA(Connection connection) throws ClassNotFoundException
{
this.connection = connection;
System.out.println("ConDA Established!!!");
}
public Connection getConnection()
{
return connection;
}
}
how is that "conDA" object name can be understood as a connection of
database?
因为 class ConnectionDA 有方法 getConnection 实现 returns 连接类型的对象。
public Connection3(ConnectionDA conDA) throws ClassNotFoundException
{
this.conDA = new ConnectionDA(conDA.getConnection());
}
这里是 getConnection() 方法的实现。
public class ConnectionDA
{
public Connection getConnection()
{
return connection;
}
}
I'm curious about how did the object name "conDA" contains the
database connection even without using the getConnection() method I
created
这是因为,class 在构造函数
上接收到一个连接
public class ConnectionDA
{
Connection connection;
public ConnectionDA(Connection connection) throws ClassNotFoundException
{
this.connection = connection;
}
}
我不明白 DatabaseAccess class 的用途。我很好奇对象名称 "conDA" 是如何包含数据库连接的,即使没有使用我创建的 getConnection() 方法。例子"con2 = new Connection2(conDA);"那个"conDA"对象名怎么理解为数据库的连接呢? 以下是代码:
import java.sql.*;
public class Connection1
{
static Connection connection;
static ConnectionDA conDA;
static Connection2 con2;
public static void main(String args[]) throws ClassNotFoundException, SQLException
{
conDA = new ConnectionDA(getConnection());
System.out.println("Con1 Connected!!");
con2 = new Connection2(conDA);
}
public static Connection getConnection() throws ClassNotFoundException, SQLException
{
Class.forName("com.ibm.db2.jcc.DB2Driver");
connection = DriverManager.getConnection("jdbc:db2://localhost:50000/Sample", "ZeroCool","siliconvalley");
return connection;
}
}
第 2 Class
import java.sql.*;
public class Connection2
{
ConnectionDA conDA;
Connection3 con3;
public Connection2(ConnectionDA conDA) throws ClassNotFoundException
{
this.conDA = new ConnectionDA(conDA.getConnection());
this.conDA = conDA;
System.out.println("Con2 Connected!!");
con3 = new Connection3(conDA);
}
}
第 3 Class
import java.sql.*;
public class Connection3
{
ConnectionDA conDA;
public Connection3(ConnectionDA conDA) throws ClassNotFoundException
{
this.conDA = new ConnectionDA(conDA.getConnection());
this.conDA = conDA;
System.out.println("Con3 Connected!!");
}
}
数据库访问Class
import java.sql.*;
public class ConnectionDA
{
Connection connection;
public ConnectionDA(Connection connection) throws ClassNotFoundException
{
this.connection = connection;
System.out.println("ConDA Established!!!");
}
public Connection getConnection()
{
return connection;
}
}
how is that "conDA" object name can be understood as a connection of database?
因为 class ConnectionDA 有方法 getConnection 实现 returns 连接类型的对象。
public Connection3(ConnectionDA conDA) throws ClassNotFoundException
{
this.conDA = new ConnectionDA(conDA.getConnection());
}
这里是 getConnection() 方法的实现。
public class ConnectionDA
{
public Connection getConnection()
{
return connection;
}
}
I'm curious about how did the object name "conDA" contains the database connection even without using the getConnection() method I created
这是因为,class 在构造函数
上接收到一个连接public class ConnectionDA
{
Connection connection;
public ConnectionDA(Connection connection) throws ClassNotFoundException
{
this.connection = connection;
}
}