DBCP连接池及其工具类的使用
2019-08-15 20:18
351 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41808387/article/details/99654723
准备工作:
1.导包
2.数据库建表
3.dbconfig.properties文件的准备
开始使用:
一.使用dbcp连接池,进行数据的查询
package com.henu.dbcp; import java.io.InputStream; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Properties; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSourceFactory; import com.henu.dbcpuntil.DbcpUtil; public class Demo01_DBCP { public static void main(String[] args) throws Exception { Properties prop = new Properties(); InputStream is = Demo01_DBCP.class.getClassLoader().getResourceAsStream("dbconfig.properties"); prop.load(is); DataSource ds = BasicDataSourceFactory.createDataSource(prop); Connection conn = ds.getConnection(); //Connection conn = DbcpUtil.getConnection(); PreparedStatement ps = conn.prepareStatement("select * from student"); ResultSet rs = ps.executeQuery(); while(rs.next()){ System.out.println(rs.getInt("id")+"\t"+rs.getString("name")+"\t"+rs.getInt("age")+"\t"+rs.getDate("birthday")); } rs.close(); ps.close(); conn.close(); } }
二.将其封装成工具类
package com.henu.dbcpuntil; import java.io.InputStream; import java.sql.Connection; import java.util.Properties; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSourceFactory; public class DbcpUtil { private static DataSource ds; static { try { Properties prop = new Properties(); // 反射的方法获取dbconfig.properties文件 InputStream is = DbcpUtil.class.getClassLoader().getResourceAsStream("dbconfig.properties"); // 从输入流中读取属性列表(键和元素对) prop.load(is); // 关键步骤:使用数据源读取解析prop文件 ds = BasicDataSourceFactory.createDataSource(prop); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 提供获取数据源的方法 public static DataSource getDataSource() { return ds; } // 提供获取连接的方法 public static Connection getConnection() throws Exception { return ds.getConnection(); } }
三、使用工具类进行查询
package com.henu.dbcp; import java.io.InputStream; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Properties; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSourceFactory; import com.henu.dbcpuntil.DbcpUtil; public class Demo01_DBCP { public static void main(String[] args) throws Exception { Connection conn = DbcpUtil.getConnection(); PreparedStatement ps = conn.prepareStatement("select * from student"); ResultSet rs = ps.executeQuery(); while(rs.next()){ System.out.println(rs.getInt("id")+"\t"+rs.getString("name")+"\t"+rs.getInt("age")+"\t"+rs.getDate("birthday")); } rs.close(); ps.close(); conn.close(); } }
四、DBCP的配置项
必须项
driverClassName | 驱动路径 |
---|---|
url | 数据库链接路径 |
username | 数据库用户名,一般为root |
password | 数据库密码 |
基本项
maxActive 连接池中 最大连接数量
minIdle 最小空闲连接
maxIdle 最大空闲连接
initialSize 初始化连接
相关文章推荐
- JDBC实例--工具类升级,使用Apache DBCP连接池重构DBUtility,让连接数据库更有效,更安全
- java使用DBCP连接池创建工具类
- 使用DBUtils+DBCP2+pool2+logging第三方工具类,创建连接池
- java使用DBCP连接池创建工具类
- JavaWeb之DButils(二)使用DBCP实现数据库的连接池
- 使用c3p0与DBCP连接池,造成的MySql 8小时问题解决方案
- java dbcp连接池的使用
- 使用apache dbcp连接池
- dbcp开源连接池的使用例子
- 使用c3p0与DBCP连接池,造成的MySql 8小时问题解决方案
- 各种连接池的使用(c3p0,proxool,DBCP)
- JAVA数据库连接池简介与使用(C3P0,Druid,JNDI ,DBCP,Proxool,BoneCP)
- JAVAWEB开发之事务详解(mysql与JDBC下使用方法、事务的特性、锁机制)和连接池的详细使用(dbcp以c3p0)
- Volley的使用及其工具类的封装
- MySQL之——使用c3p0与DBCP连接池,造成的MySql 8小时问题解决方案
- mysql数据库连接池使用(一)dbcp方式的配置
- 连接池DBCP的使用(JAVA源码)
- jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用
- httpclient工具类,使用连接池实现,原理同数据库连接池。
- 使用JDBC连接MySQL数据库--典型案例分析(三)----使用Apach DBCP连接池