JDBC学习总结_3_数据库连接池DBCP
来源:互联网 发布:鬼吹灯和盗墓笔记 知乎 编辑:程序博客网 时间:2024/06/11 06:04
实际开发中 获得连接 或 释放资源 是非常消耗系统的两个过程. 而数据库在实际应用中用户的访问量是巨大的,每次操作数据库都需要 获得连接 释放资源,那对资源的浪费是可想而知的;
为了解决这个问题, 连接池顺应而生.其原理与线程池一致. 提前创建n个连接 并存入连接池容器,当你需要的时候从里面拿出去,完成操作以后通过close()方法归还连接.
每个数据库不一样,很多第三方软件机构它也会对java开发连接池,所以sun公司自己并不做.
依旧只是提供一个规范,一个接口.
javax.sql.DataSourse
DataSourse接口由驱动程序供应商实现.它有三种实现方式:
- 基本实现: 生成标准的Connection对象
- 连接池实现
- 分布式事务实现
// 注意:这里面代码是不完整的, 静态代码块里的变量需要写一个方法从配置文件中获取,这里我就省略了import org.apache.commons.dbcp.BasicDataSource;/* 创建一个使用数据库连接池JDBC工具类 *使用DBCP实现数据库的连接池 *连接池配置,自定义类 *最基本的四项配置() *对于数据库连接池其他配置,自定义*/public class JDBCUtils{ // 创建BasicDataSource类对象 private static BasicDataSource datasource = new BasicDataSource(); // 静态代码块,对象BasicDataSource对象中的配置,自定义 static{ datasource.setDriverClassName(driverClass); datasource.setUrl(url); datasource.setUsername(username); datasource.setPassword(password); //对象连接池中的连接数量配置 datasource.setInitialSize(10); //初始化的连接数 datasource.setMaxActive(8); //最大连接数量 datasource.setMaxIdle(5); //最大空闲数 datasource.setMinIdle(1); //最小空闲数 } // 定义静态方法,返回BasicDataSource类的对象 public static DataSource getDatasource(){ return datasource; }}
回顾之前引入的 DBUtils
DBUtils三个核心功能介绍:
- QueryRunner 中提供对sql语句操作的API.
- ResultSetHandler接口, 用于定义 select 操作后, 怎样封装结果集.
DBUtils类, 它是一个工具类, 定义了关闭资源与事务处理的方法.
QueryRunner类构造方法可以接收DataSourse接口实现类
后面,调用方法updata,query,就不需要传递他们的Conection连接对象了(都有对应的重载方法)
实际开发中DButils 和 连接池是一起配合使用的.
到这里jdbc的学习总结告一段落, 后期会根据学习情况在增加或者修改.
阅读全文
0 0
- JDBC学习总结_3_数据库连接池DBCP
- JDBC-数据库连接池dbcp
- JDBC数据库连接池dbcp
- JDBC 数据库连接池 -Dbcp -C3p0
- JDBC学习笔记(二)--数据库连接池 DBCP数据源
- JDBC学习笔记(8)——数据库连接池(dbcp&C3P0)
- JDBC学习笔记—数据库连接池(DBCP和C3P0)
- JDBC 数据库连接池(DBCP、C3P0) 详解
- jdbc 学习总结三之数据库连接池
- JDBC数据库连接池总结
- commons-dbcp.jar 数据库连接池学习_!!!
- DBCP 数据库连接池JNDI连接 学习笔记
- 数据库连接池:Dbcp和C3p0学习
- 数据库连接池性能比对(hikari druid c3p0 dbcp jdbc)
- 数据库连接池性能比对(hikari druid c3p0 dbcp jdbc)
- 数据库连接池性能比对(hikari druid c3p0 dbcp jdbc)
- 数据库连接池性能比对(hikari druid c3p0 dbcp jdbc)
- 数据库连接池性能比对(hikari druid c3p0 dbcp jdbc)
- 试题三
- Makefile中语句的顺序
- PHP中比较运算符之==与===
- MIT算法导论——第一讲.Analysis of algorithm
- C++ 文档读取
- JDBC学习总结_3_数据库连接池DBCP
- 【C/C++】STL--pair
- BootStrap留言逐条展示
- VCG文档
- Go语言学习笔记(三)复合数据类型
- 网络爬虫的简易实现(1)
- 欢迎使用CSDN-markdown编辑器
- C语言-结构体中的冒号:位字段
- 1. 创建 控制台 TCP 服务端程序步骤