为什么要创建jdbc连接池

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数据库连接类,然后获取数据库连接,等到操作数据完毕之后,关闭数据库连接。这样对数据库进行频繁连接、开启和关闭操作,会造成数据库资源的浪费,十分影像数据库的性能。

*解决方案

既然 我们每次都会去创建一个连接,那么我们就可以提前创建一个数据库连接池,在应用程序启动的时候,预先设定连接
 一个用户发送了请求,应用程序就去连接池中拿一条连接。用完之后将连接放回连接池。这样,对于系统的性能会有一定的提升

你可能感兴趣的:(java基础)