关于事务
Transaction其实指的是一组操作,里面包含多个单一的操作。
只要有一个逻辑没执行成功,那么都算失败,所有的数据都回归到最初的状态。(回滚)
为什么要有事物?
为了确保逻辑的成功。
代码里面的事务主要是针对链接的:
- 通过conn.setAutoCommit(false)来关闭自动提交的设置
- 提交事物conn.commit();
- 回滚事务conn.rollback();
事务的特性:(ACID)
原子性:事务中包含的逻辑,不可分割
一致性:事务执行前后,数据完整性
隔离性:事务在执行期间不应该受到其他事务的影响
持久性:事务执行成功,那么数据应该持久保存在磁盘上
##开源的连接池:
DBCP:DataBase Connection Pool数据库连接池,是java数据库连接池的一种,由Apache开发,通过数据库连接池,可以让程序自动管理数据库连接的释放和断开
C3P0:开源的JDBC连接池,它实现了数据源和JND绑定,支持JDBC3 和 JDBC2的标准规范扩展,目前使用它的开源项目有Hibernate,Spring等