java 数据库工厂_月光软件站 - 编程文档 - Java - 简单的数据库连接工厂实现
我看過(guò)很多數(shù)據(jù)庫(kù)連接的代碼,大部分都存在問(wèn)題,有的甚至完全不可用,這里給出一個(gè)數(shù)據(jù)庫(kù)連接工廠,給出了jdbc1和jdbc2的實(shí)現(xiàn),僅供參考!
public class ConnectionFactory_JDBC1{
private static String url="jdbc:oracle:thin:@218.12.7.35:1521:myorcl";
private static String user="developer";
private static String password="developer";
static{
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException e){
throw new RuntimeException("無(wú)法加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)!");
}
}
static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url,user,password);
}
public static void closeConnection(Connection conn){
if (conn != null) {
try {
conn.close();
}
catch (SQLException e) {
//沒(méi)有必要處理
}
}
}
}
上面連接的是oracle數(shù)據(jù)庫(kù),當(dāng)然這里用戶名和密碼以及url你也可以通過(guò)配置文件獲得,雖然只有短短的幾行
代碼,對(duì)于新手,要完全理解也不是很容易的事,如果可能盡量使用JDBC2方法。
public class ConnectionFactory_JDBC2{
private static String dbName="jdbc/mydb";
private static DataSource ds;
static{
try{
Context ctx=new InitialContext();
ds = (DataSource)ctx.lookup(dbName);
}
catch(NamingException e){
throw new RuntimeException("無(wú)法獲得數(shù)據(jù)源!");
}
}
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
public static void closeConnection(Connection conn){
if (conn != null) {
try {
conn.close();
}
catch (SQLException e) {
//沒(méi)有必要處理
}
}
}
}
上面只是提供一個(gè)連接工廠,你必須自己關(guān)閉數(shù)據(jù)庫(kù)連接,這里的closeConnection方法先判斷是否為空是必要的。你也許覺(jué)得可以這樣寫更簡(jiǎn)潔:
try{ conn.close();}
catch(Exception e) {}; //同時(shí)處理了NullPointerExceptio
個(gè)人認(rèn)為這樣寫不好,當(dāng)然這樣也沒(méi)有錯(cuò)。
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的java 数据库工厂_月光软件站 - 编程文档 - Java - 简单的数据库连接工厂实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 蚊子不咬我,是为何???????
- 下一篇: 12画的字取女名