什么是数据库连接池技术?
我们不可能像我们的代码一样,每次执行对数据库的操作都对数据库手动进行连接和断开
使用德鲁伊数据连接池
导入jar包
通过配置文件方式来建立连接池,通过文件流的方式读取配置文件来获取连接
通过测试,可以连接
那我们平时如何使用呢?
我们希望把这串代码也写到JDBCUtil里面
但是我们上面的代码还是有问题
我们的这串代码是建造池子
Properties properties = new Properties(); InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties"); properties.load(is); source= DruidDataSourceFactory.createDataSource(properties);
这串代码是进行连接
java.sql.Connection connection = source.getConnection(); return (Connection) connection;
我们只希望建造一个池子,而进行多次连接,我们的代码现在每次进行连接就要建造一个池子,非常浪费,所以我们应该分成两个部分来写
这串代码用到了静态代码块,调用静态方法时,静态代码块会执行,而且多次调用,静态代码块只会执行一次。所以现在我们池子只造了一个
连接可以进行多次
测试
但是我有个问题,既然数据库连接池是把连接直接拿出来用,为什么一开始的代码还要关闭连接,下面测试不关连接
测试成功,说明,没比较用连接池的时候手动关闭连接