Mybatis-配置之属性优化
1. 核心配置文件
-
mybatis-config.xml(名字可以任意取,这是官方建议命名)
-
Mybatis的配置文件包含了会深深影响Mybatis行为的设置和属性信息
-
配置
-
properties(属性)
-
settings(设置)
-
typeAliases(类型别名)
-
typeHandlers(类型处理器)
-
objectFactory(对象工厂)
-
plugins(插件)
-
environments(环境配置)
(1) environment(环境变量)
- transactionManager(事务管理器)
- dataSource(数据源)
-
databaseIdProvider(数据库厂商标识)
-
mappers(映射器)
-
2. 环境配置(environments)
MyBatis 可以配置成适应多种环境;
尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境;
defaultyong
<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/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
事务管理器:
- JDBC – 这个配置直接使用了 JDBC 的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域;(默认)
- MANAGED – 这个配置几乎没做什么;
数据源:
- UNPOOLED – 这个数据源的实现会每次请求时打开和关闭连接。
- **POOLED **– 这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来,避免了创建新的连接实例时所必需的初始化和认证时间。(默认)
- **JNDI ** – 这个数据源实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的数据源引用
3. 属性(properties)
我们可以通过properties来引用配置文件
-
编写一个配置文件
driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8 username=root password=root
-
在核心配置文件中引入(在xml中所有的标签都要遵循其顺序)
<!-- 引入外部配置文件--> <properties resource="db.properties"> <!-- 添加一些属性--> <property name="username" value="root"/> <property name="password" value="root"/> </properties> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments>
- 可以引入外部配置文件
- 可以在其中增加一些属性
- 如果外部配置文件和增加的属性有相同字段,优先使用外部配置文件