web与企业应用中的连接管理
一般我们在项目中都会抽取出一些公共设置数据库连接的配置。项目在修改的时就可以很方便的去修改
而不需要在无尽的代码中,去修改所有的代码。提高了软件的可重用性
之前写法
public boolean addMessage(Message message){
boolean flag=false;
con=ConnectionFactory.getConnection();
String sql="insert into message(id,username,title,msgtime,content) values(?,?,?,?,?)";
try {
pstat=con.prepareStatement(sql);
pstat.setInt(1,message.getId());
pstat.setString(2,message.getUsername());
pstat.setString(3,message.getTitle());
pstat.setString(4,message.getMsgtime());
pstat.setString(5,message.getContent());
int i=pstat.executeUpdate();
if(i>0){
flag=true;
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBClose.close(pstat, con);
}
return flag;
}
·在每一个数据库的类中,都需要引入类似上面的ConnectionFactory数据库连接类,然后获取数据库连接,等到操作数据完毕之后,关闭数据库连接。这样对数据库进行频繁连接、开启和关闭操作,会造成数据库资源的浪费,十分影像数据库的性能。
*解决方案
既然 我们每次都会去创建一个连接,那么我们就可以提前创建一个数据库连接池,在应用程序启动的时候,预先设定连接
一个用户发送了请求,应用程序就去连接池中拿一条连接。用完之后将连接放回连接池。这样,对于系统的性能会有一定的提升