抽取JDBC工具类:JDBCUtils
目的:简化书写
分析:
- 抽取注册驱动
- 抽取一个方法获取连接对象
- 抽取方法释放资源
JDBC控制事务
- 事务:一个包含多个步骤的业务操作。如果一个包含多个步骤的业务操作,被事务管理。那么这些操作要么同时成功,要么同时失败
- 操作:开启,提交,回滚
- 使用Connection对象来管理事务
- 在执行sql前开启事务
- 当所有sql都执行玩提交事务
- 在catch中回滚事务
数据库连接池
概念:其实就是一个容器(集合),存放数据库连接的容器
当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器
好处:
- 节约系统资源
- 用户访问高效
实现:
- 标准接口:DataSource Java.sql包下的
- 方法:
- 获取连接:getConnection()
- 归还连接:如果连接对象Connection是从连接池中获取的,那么调用close方法则不会关闭连接而是归还连接。
- 获取连接:getConnection()
- 方法:
- 一般我们不去实现,由驱动实现
- C3P0 :数据库连接池技术
- Druid:数据库连接池技术,由阿里巴巴提供
C3P0:
- 步骤:
- 导入jar包
- 定义配置文件
- 名称:c3p0.properties或者是c3p0-config.xml(文件名必须是这两种)
- 路径:默认在项目的类路径下,即src目录
- 创建核心对象:数据库连接池对象 ComboPooledDataSource
- 获取连接:getConnection
Druid:
- 步骤:
- 导入jar包
- 定义配置文件:
- 是propertieds形式的
- 可以叫任意名称,可以放在任意目录下
- 加载配置文件 Properties
- 获取数据库连接池对象:通过工厂类获取:DruidDataSourceFactory
- 获取连接:getConnection