java 数据库工厂_月光软件站 - 编程文档 - Java - 简单的数据库连接工厂实现
我看過很多數據庫連接的代碼,大部分都存在問題,有的甚至完全不可用,這里給出一個數據庫連接工廠,給出了jdbc1和jdbc2的實現,僅供參考!
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("無法加載數據庫驅動!");
}
}
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) {
//沒有必要處理
}
}
}
}
上面連接的是oracle數據庫,當然這里用戶名和密碼以及url你也可以通過配置文件獲得,雖然只有短短的幾行
代碼,對于新手,要完全理解也不是很容易的事,如果可能盡量使用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("無法獲得數據源!");
}
}
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
public static void closeConnection(Connection conn){
if (conn != null) {
try {
conn.close();
}
catch (SQLException e) {
//沒有必要處理
}
}
}
}
上面只是提供一個連接工廠,你必須自己關閉數據庫連接,這里的closeConnection方法先判斷是否為空是必要的。你也許覺得可以這樣寫更簡潔:
try{ conn.close();}
catch(Exception e) {}; //同時處理了NullPointerExceptio
個人認為這樣寫不好,當然這樣也沒有錯。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的java 数据库工厂_月光软件站 - 编程文档 - Java - 简单的数据库连接工厂实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蚊子不咬我,是为何???????
- 下一篇: 12画的字取女名