所有连接池都实现了
javax.sql.DataSource
接口规范
BasicDataSource implements javax.sql.DataSource
// 连接池
BasicDataSource ds = new BasicDataSource();
// 配置数据库连接
ds.setDriverClassName("com.mysql.cj.jdbc.Driver");
ds.setUrl("jdbc:mysql://localhost:3306/数据库名");
ds.setUsername("xxx");
ds.setPassword("xxx");
// 获取连接
ds.getConnection();
*.properties
配置文件)注意:配置文件名,可以随便起,一般叫做dbcp-config.properties
# 配置数据库连接
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/数据库名称
username=xxx
password=xxx
# 初始化连接数
initialSize=10
不需要解析dbcp-config.properties文件
用到一个核心类: BasicDataSourceFactory
DataSource ds = BasicDataSourceFactory.createDataSource(Properties对象);
ds.getConnection();
//补充:
// 加载配置文件的两种方式:
// 1.配置文件在工程的根目录
Properties ps = new Properties();
ps.load(new FileInputStream("配置文件名"));
// 2.配置文件在src根目录
Properties ps = new Properties();
InputStream in = 当前类.class.getClassLoader().getResourceAsStream("配置文件名");
// 将配置信息加载到属性集合
ps.load(in);
ComboPooledDataSource implments javax.sql.DataSource
ComboPooledDataSource ds = new ComboPooledDataSource();
ds.setDriverClass("com.mysql.jdbc.cj.Driver");
ds.setJdbcUrl("jdbc:mysql://localhost:3306/数据库名");
ds.setUser("xxx");
ds.setPassword("xxx");
// 获取使用
ds.getConnection();
注意:
1.文件名和文件中标签名 必须是官方指定的
2.必须放到src根目录下,C3P0的实现类ComboPooledDataSource会自动加载
使用
// 会自动去加载 src下一个叫做c3p0-config.xml的文件
ComboPooledDataSource ds = new ComboPooledDataSource();
//
ds.getConnection();
阿帕奇封装JBDC的工具类
DBUtils:主要用于 关闭连接,释放资源,和事务相关
QueryRunner: 主要用于 增删改查 CURD
int update(String sql,Object... params);//用于增删改
不一定 query(String sql,ResultSetHandler接口实现类对象 ,Object...params);//用于查询的
ResultSetHandler:
(Object[])ArrayHandler:把结果集中的第一条记录,封装成Object[],返回这个Object数组
(List