Mybatis学习--6.Mybatis核心配置文件
MyBatis核心配置文件
environments标签
配置mybatis环境的标签
在该标签体中可以配置mybatis的多个环境,一个环境就对应一个数据库,也就对应一个SqlSessionFactory对象
default属性。用来指定默认环境,也就是说在不指定环境的情况下,创建的SqlSessionFactory对象对应的是默认环境中的数据库。那么也就是说我们可以在创建SqlSessionFactory的时候指定其对应的环境(数据库)。
transactionManager标签:mybatis的事务管理器。有两种值
- jdbc:mybatis负责管理事务,其底层采用jdbc事务管理机制
- managed:mybatis不负责管理事务,交给其他容器(Spring)来管理
- mybatis底层提供了transcation接口来管理事务。如果选择jdbc,则会实例化JdbcTranscation对象;如果选择managed,则会实例化ManagedTranscation对象
dataSource标签:数据源。为程序提供Connection对象。实际上,dataSource是一套规范,凡是为程序提供Connection对象的,都叫数据源。这套规范是JDK提供的,我们也能写数据源组件,只要实现javax.sql.DataSource接口中的所有方法即可。数据库连接池就是一个数据源(提供了Connection对象)
- 常见的数据源(数据库连接池)组件:druid、c3p0、dbcp等
- type属性:指定数据源的类型,即使用什么方法获得Connection对象
- type属性有3个值
- UNPOOLED:不使用数据库连接池,也就是说每进行一次数据库连接,都创建一个新的Connection对象
- POOLED:使用mybatis自己提供的数据库连接池
- JNDI:集成第三方的数据库连接池。它其实是一套规范,大部分web服务器都实现了这套规范,因此可以在web容器中配置三方数据库连接池,那么mybatis中使用的就是web容器中集成的三方数据库连接池
- 配置具体的数据库连接池参数标签:property。需要根据业务场景进行设置合适的参数,可以设置连接池最大连接数,空闲数等
properties标签:相当于一个Map集合,key和value都是String类型。可以在该标签体内配置很多配置信息
<properties> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> </properties> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/db01"/> <property name="username" value="root"/> <property name="password" value="dch"/> <!--配置连接池最大连接数为5--> <property name="poolMaximumActiveConnections" value="5"/> </dataSource> </environment> </environments>
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 dch'blog!