mybatis中的连接池以及事务控制
1、连接池:
减少我们获取连接所消耗的时间。
2、mybatis中的连接池
mybatis连接池提供了三种方式的配置
配置的位置:
主配置文件SqlMapConfig.xml中的datasource标签,type属性就是表示采用何种连接池方式。
type属性的取值:
POOLED 采用传统的javax.sql.DataSource规范中的连接池 mybatis中有针对规范的实现
UNPOOLED 采用传统的获取连接的方式,虽然也实现javax.sql.DataSource,但是并没有使用池的使用
JNDI 采用服务器提供的JNDI技术实现,来获取DataSource对象,不同的服务器所能拿到的DataSource是不一样的
注意:如果不是web或者maven的war工程,是不能使用的
我们实际开发中,使用的是Tomcat服务器,采用的连接池就是dbcp连接池
POOLED所展示的内容
UNPOOLED所展示内容
都归还到池里,与预期,预期是UNPOOLED只会closeConnction不会return
unpooled获取连接
pooled获取连接
3.mybatis中的事务提交和回滚
前面的展示内容也可以看到,自动提交false的,若要默认自动提交可以:factory.openSession(true); 获取的SqlSession就会将autocommit设置为true,否则需要每次调用session.commit()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!