连接池
依靠javax.sql包的DataSource接口
来实现
方法:
- 获得连接:
getConnection()
- 归还连接:如果是从连接池获得的连接,直接用
conn.close()
是归还连接,而不是之前学的关闭连接
一般不是由自己实现,都是有厂商来实现,数据库连接池技术:
- C3P0
- Druid
这里我就直接学更高效的Druid了
Druid
步骤:
- 导入jar包 druid-1.0.9.jar
- 定义配置文件:
- 是properties形式的
- 可以叫任意名称,可以放在任意目录下
- 加载配置文件:Properties
- 获取数据库连接池对象:通过工厂类来获取 DruidDataSourceFactory
- 获取连接:getConnection
Druid的实现
properties文件
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///java
username=root
password=
initialSize=5
maxActive=10
maxWait=3000
- initialSize:初始的申请的连接数
- maxActive:最大的连接数
- maxWait:超时时间
代码实现
package druid;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;
//导入jar包
public class DruidDome {
public static void main(String[] args) throws Exception {
//加载配置文件
Properties pro = new Properties();
InputStream is = DruidDome.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
//获取连接池对象
DataSource ds = DruidDataSourceFactory.createDataSource(pro