连接池
- 连接池就是用于存储连接的一个容器。容器就是一个集合对象,该集合必须是线程安全的,不能两个线程拿到统一连接。
- 容器还必须实现队列的特性:先进先出
mybatis中的连接池
- mybatis连接池提供了三种连接方式
-
- 在主配置文件SqlMapConfig.xml中的dataSource标签,type属性就是确定用何种方式进行连接。
- 三种连接方式:
-
-
- POOLED:连接池连接
- UNPOOLED:非连接池连接
- JNDI:采用服务器的JNDI技术实现来获取dataSource对象。
-
-
- POOLED和UNPOOLED连接的区别
-
- 图一为POOLED模式下的连接模式,发现当一个连接使用完成之后,会被放回连接池再次进入队列等待。而图二是在UNPOOLED模式下的连接模式,这是需要使用到JDBC连接的时候,就重新创建一个。
Mybatis中的事务提交方式
- 在CUD过程中需要使用commit()函数进行提交事务。原因就算在意从连接中,会调用connection.setAutoCommit(false),这样我们就必须要使用sqlSession.commit()方法进行事务提交。
- session = factory.openSession(true);通过这样的一句话可以实现自动提交事务。
- 但是在编程而言,设计为自动提交方式为false再根据情况决定是否进行提交,这样的方式更加常用。