HikariHP数据库连接池实战-学习笔记

97 阅读1分钟

禁用自动提交事务

最佳实践是禁用自动提交事务

连接池

配置的时候禁用事务自动提交。

总结

1.如果没有禁用,每次查询执行完成之后,都会自动提交事务;每次更新完成之后,也会自动提交事务。

2.如果禁用,那就是等到方法结束的时候才作为一个原子操作一起提交事务。

有连接池和没连接池的区别

没连接池-架构图

有连接池-架构图 //第一层就被连接池拦截了

连接对象-提交事务

是连接对象来提交事务

ServiceLoader机制

核心步骤
1.在配置文件指定拦截器
2.自定义实现拦截器类

比如dubbo的拦截器,你要自定义实现,然后用的时候,就是这么玩的。

不要滥用事务注解

事务注解的坑

事务也会超时

不同超时情况
1.事务超时
2.执行sql语句超时
3.底层socket通信超时


spring容器框架管理事务


可以通过事务注解的属性来设置事务超时时间


事务超时时间是什么?
n个sql语句耗时的总和。


单个sql语句,也可以独立只设置当前单个sql语句执行耗时的超时。

1.通过dao框架配置,比如mybatis
2.可以针对增删查改分别配置不同的阈值