注意:理解一下就可以,因为Mybatis往往都是和Spring整合使用,连接池和事务往往也都是交给Spring管理,更擅长也更好用
Mybatis连接池
连接池
Mybatis连接池的初始化时机
在SqlSessionFactoryBuilder构建SqlSessionFactory的时候初始化连接池,初始化之后放入Configuration对象当中
什么时候从连接池获取连接
在getMapper的时候是不会从数据库连接池获取数据库连接的,在具体操作数据库调用mapper接口方法的时候才会从连接池拿连接
UNPOOLED:不使用数据库连接池(一般不会用)其他
JNDI:(前提你的Mybatis环境必须是Web应用)(了解)
什么是JNDI
JNDI:java naming directory interface(java命名目录接口,它是一种服务发布技术),数据源可以以服务的形式发布出去,那么哪个应用想用,就类似于客户端调用远程服务一样去调用即可
为什么必须是web应用
往往只有tomcat/weblogic服务器中间件才支持JNDI技术
如果在Mybatis当中用,怎么用
参考附录
Mybatis事务控制
通过sqlSession.openSession这种方法操作数据库时候,mybatis默认 把 事务自动提交 给关闭了
注意:数据量非常小可以自动提交,数据量大就应该手动提交