数据库连接池
原来的连接数据库操作,在创建数据库连接对象之后,一旦执行完毕就会释放资源,等到下一次数据库操作又需
要重新连接,太过于麻烦且消耗资源。
数据库连接池的概念:其实就是一个容器(集合),存放数据库连接的容器
当系统初始化后,容器就被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,
用户访问完之后,会将连接对象归还给容器,节省了重新创建和销毁的麻烦。
javax.sql中有一个DataSource 的接口,表示了数据源,接口实现由数据库厂商提供
实现:
1.标准接口:DataSource
1.方法:
获取连接:getConnection()
归还连接:如果连接对象是从连接池中获取的,那么调用Connection.close()方法,不是关闭连接了,而是归还连接
2.一般我们不去实现它,有数据库厂商来实现
1.C3P0:
2.Druid:
3.C3P0
1.步骤:
1.导入jar包 c3p0-0.9.5.2.jar包 mchange-commons-java-0.2.12.jar包
2.定义配置文件:
名称:c3p0.properties or c3p0-config.xml
路径:放在src目录下即可
3.创建核心对象 数据库连接池对象 ComoPooledDataSource
4.获取连接:getConnection
DataSource ds=new ComoPooledDataSource();
Connection conn=ds.getConnection();
4.Druid
1.步骤
1.导入jar包 druid-1.0.9.jar
2.定义配置文件
可以是properties形式的
可以叫任意名称,可以放在任意目录下
配置文件要进行加载才能找到:定义properties对象
Properties pro=new Properties();
Inputstream is=DruidDemo(类).class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
3.获取数据库连接池对象:通过工厂来获取 DruidDataSourceFactory
DruidDataSourceFactory.createDataSource(properties对象)
4.获取连接 getConnection
通常使用数据库连接池还是要定义工具类的方法
1.定义一个类JDBCUtills
2.提供静态代码块加载配置文件,初始化连接池对象
3提供方法:
1.获取连接方法:通过数据库连接池获取连接
2.释放资源
3.获取连接池的方法