【发布时间】:2015-10-05 06:23:11
【问题描述】:
我正在使用 java 和一些数据库(oracle/sql)来存储一些信息。所以我决定创建一个 fixed 类来处理我的连接,最后我将返回一个 con 对象,以便我可以在其他类中使用它。
我拥有这些类的主要目的是能够从另一个类建立到数据库的连接。
请告诉我哪个更好,为什么以及是否可以改进。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectDB {
private static ConnectDB con = new ConnectDB();
private ConnectDB() {
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public Connection createCon() {
Connection connection = null;
try{
connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","yy","yy");
} catch (SQLException e) {
System.out.println("Connection to db could not be done");
}
return connection;
}
public static Connection getConexiune() {
return con.createCon();
}
}
或者我可以使用这个类
import java.sql.*;
public class ConectDB {
static Connection con;
public static Connection getConexiune() {
return con;
}
public static void main(String arg[]){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","yy","yy");
System.out.println("cONNECTED");
con.close();
}catch(Exception ex){ex.printStackTrace();}
}
}
哪个更好,为什么?
第一个示例是否使用单例设计模式?
【问题讨论】:
-
好文章,代码来自java站点community.oracle.com/docs/DOC-918906
-
有关如何改进(工作)代码的问题可以在codereview.stackexchange.com 网站上提问。
-
为什么不使用
javax.sql.DataSource实现?这就是他们的目的。
标签: java database oracle design-patterns jdbc