Mysql事务
2016/4/27 17:55:00 Seventeen Wen
开启事务:
- start transaction;
回滚事务(可以撤销):
- rollback;
提交事务(不可修改):
- commit;
JDBC事务的操作
通过Connection对象操作事务
try{
//设置是否自动提交事务 true代表自动提交,每条执行语句都是一个事务 false代表开启事务;
con.setAutoConmit(false);
con.commit();
catch(){
con.rollback();
}
解决事务的并发问题(隔离级别)
- SERIAIZABLE(串行化)
- REPEATABLE READ(可重复读)
- READ COMMITTED(读已提交)
- READ UNCOMMITTED
Mysql查看隔离级别
SELECT @@TX_ISOLATION;
JDBC设置隔离级别
通过set transaction isolationlevel(事务级别)
数据库连接池
池参数(都有默认值)
- 数据库初始连接数
- 连接池最大连接数
- 连接池最小连接数
- 最小空闲连接数
- 最大空闲连接数
- 连接池每次增加的常量
-
DBCP数据源
commons-dbcp.jar连接池的实现
commons-pool.jar连接池实现的依赖库
必须实现javax.sql.DataSource接口!
连接池返回的Connection对象的close()方法不一样,调用他的close()不是关闭连接,而是归还给池!
public void fun1(){
/*1.创建连接池对象
/ 2.配置四大参数
/ 3.配置池参数
/ 4.得到池对象
BasicDataSource dataSource = new BasicDataSource
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/databasename");
dataSource.setUsername("root");
dataSource.setPassword("123");
dataSource.setMaxActive(20)
Connection com = dataSource.getConnection();
}