| | | | | | | [文章信息] | | | 作者: | csq920 | | 时间: | 2004-02-05 | | 出处: | 论坛 | | 责任编辑: | 方舟 | |
| [文章导读] | | | 我们在做信息系统的时候,都要访问数据库,我最近接手一个项目,项目组决定使用Java编写 | |
| |
|
| | | |
|
|
|
|
|
天极IT资讯短信服务 电脑小技巧
|
介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 | |
我们在做信息系统的时候,都要访问数据库,我最近接手一个项目,项目组决定使用Java编写,我负责数据层的设计和编码,为了提高代码的重用性和提高项目的开发效率。我们开发了一个通用的数据库连接和完成基本操作的类库,个人认为这个类在做MIS系统时还是有一定的价值,所以总结出来,介绍给大家。
连接工厂,实现了DataSource接口
package skydev.modules.data; import java.sql.*; import javax.sql.DataSource; import java.io.PrintWriter; public class ConnectionFactory implements DataSource { private String userName; private String password; private String driverName; private String url; private java.sql.Connection connection;
/** * 根据设置的连接参数创建一个新的连接实例 * @return */ private Connection getNewConnection() { try { this.connection.close(); //试图关闭连接 } finally { this.connection = null; //释放连接 try { Class.forName(this.driverName); //加载驱动程序 //DriverManager.registerDriver(driver); try { this.connection = DriverManager.getConnection(this.url, this.userName, this.password); } catch (SQLException e) { throw e; } } finally { return this.connection; //返回新建立的连接 } } }
public String getUserName() { return userName; }
public void setUserName(String userName) { this.userName = userName; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; }
public String getDriverName() { return driverName; }
public void setDriverName(String driverName) { this.driverName = driverName; }
public String getUrl() { return url; }
public void setUrl(String url) { this.url = url; }
public java.sql.Connection getConnection() { if (connection != null) { try { if (connection.isClosed()) { connection = null; getNewConnection(); } } catch (SQLException ex) { } } if (connection == null) { //没有设置连接则创建一个连接 getNewConnection(); } return connection; }
public Connection getConnection(String userName, String password) throws SQLException { this.setUserName(userName); this.setPassword(password); return getConnection(); }
public PrintWriter getLogWriter() { return null; }
public void setLogWriter(PrintWriter printWriter) { }
public void setLoginTimeout(int int0) { }
public int getLoginTimeout() { return 0; } } |
|
|
|
|
|
|
|
|