Loading... # 数据库连接池和事务 ## Mybatis连接池提供了三种配置方式 - 配置位置:祝配置文件中的`dataSource`标签,`type`属性表示采用哪种连接池方式 - `type`的属性: - POOLED:采用了传统的`javax.sql.DataSource`规范中的连接池,mybatis中有针对规范的实现 - UNPOOLED:采用传统的获取连接的方式,虽然也有`javax.sql.DataSource`接口,但是没有实现 - JNDI:采用服务器提供的JNDI技术实现,来获取`DataSource`对象,不同的服务器所能拿到的`DataSource`是不一样的,若不是web或maven的war工程,不可使用。 通常使用POOLED即可。 ## 事务 在使用`factory`创建`SqlSession`对象时,有一个重载函数 ````java public SqlSession openSession(boolean autoCommit) { return this.openSessionFromDataSource(this.configuration.getDefaultExecutorType(), (TransactionIsolationLevel)null, autoCommit); } ```` 若将参数传位`true`,则会自动提交事务,**但是需要注意**,它是在每次执行完sql语句后就会自动提交,如果需要执行多个语句后同时提交,那么就不能使用自动提交,必须手动提交。 最后修改:2020 年 03 月 23 日 09 : 59 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付