第四章MyBatis核心配置文件
environments与environment标签
- environments主要用来配置环境,属性default表示默认环境,值为environment的id
- environment为具体环境,属性id表示环境唯一标识
- environments可以有多个environment
加载默认环境
sqlSessionFactory = sqlSessionFactoryBuilder.build(Resources.getResourceAsStream("ApplicationContext.xml"));
加载指定环境
sqlSessionFactory = sqlSessionFactoryBuilder.build(Resources.getResourceAsStream("ApplicationContext.xml"),"development");
transactionManager标签
- 作用主要是用来配置事务管理器
- type属性有俩个值JDBC,MANAGED
- JDBC是使用原生JDBC来管理事务
- MANAGED是将事务交给其他容器
dataSource标签
- 被称为数据源,给程序提供Connection对象
- type属性就是指用什么方式来获取Connection对象,type有3个值。type值决定了可以使用的配置文件
- UNPOOLED:不使用数据库连接池技术,每次请求过来就创建一个新的Connection对象
- POOLED:使用MyBatis自己实现的数据库连接池
- JNDI:集成第三方数据库连接池
具体的配置信息参考官网
https://mybatis.net.cn/configuration.html#properties
propertys与property标签
propertys能够让我们的配置更加灵活
配置方式一
properties中的property标签的name属性和value类似map的key
和value
在propertys配置的属性可以在其他property中可以通过${}获取到
<properties><property name="jdbc.driver" value="com.mysql.cj.jdbc.Driver"/><property name="jdbc.url" value="jdbc:mysql://localhost:3306/test"/><property name="jdbc.username" value="***"/><property name="jdbc.password" value="***"/>
</properties>...
<dataSource type="POOLED"><property name="driver" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/>
</dataSource>
...
配置方式二
resources下创建jdbc.properties文件并且加入如下代码
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=***
jdbc.password=***
ApplicationContext.xml中加入如下代码,引入jdbc配置,可以使用url绝对路径
<properties resource="jdbc.properties"/>
mappers与mapper标签
- mapper通过resource或者url找到sql映射文件
- mapper可以有多个
settings与setting标签
- 通过配置可以改变MyBatis的运行行为
具体配置参考官网
https://mybatis.net.cn/configuration.html#environments