Mybatis配置
Posted feiqiangsheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis配置相关的知识,希望对你有一定的参考价值。
配置概述
Mybatis配置并不复杂,但是配置项的顺序不能颠倒。
<?xml version="1.0" encoding="UTF-8"?>
<configuration><!--配置-->
<properties/><!--属性-->
<settings/><!--设置-->
<typeAliases><!--类型别名-->
<typeHandlers><!--类型处理器-->
<objectFactory><!--对象工厂-->
<plugins><!--插件-->
<environments><!--配置环境-->
<environment><!--环境变量-->
<transactionManager/><!--事务管理器-->
<dataSource/><!--数据源-->
<environment>
<environments>
<databaseIdProvider/><!--数据库厂商标识-->
<mappers/><!--映射器-->
</configuration>
properties属性
properties属性可以给系统配置一些运行参数,可放在XML文件或者properties文件中。
一、放在XML文件中
<!--定义-->
<properties/>
<property name="database.driver" value="com.mysql.jdbc.Driver"/>
<property name="database.username" value="root"/>
<properties/>
<!--使用-->
<dataSource type="POOLED">
<property name="driver" value="${database.driver}" />
<property name="username" value="${database.username}" />
</dataSource>
二、放在properties文件中
##定义
database.driver=com.mysql.jdbc.Driver
database.username=root
<!--引入到XML-->
<properties resource="jdbc.properties"/>
<!--使用-->
<dataSource type="POOLED">
<property name="driver" value="${database.driver}" />
<property name="username" value="${database.username}" />
</dataSource>
三、真实的生产环境中,数据库的密码和用户名对于其他人员是保密的。
String resource = "mybatis_config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
// 解密配置文件
InputStream in = Resources.getResourceAsStream("jdbc.properties");
Properties props = new Properties();
props.load(in);
String userName = props.getProperty("database.username");
String password = props.getProperty("database.password");
props.put("database.username", CodeUtill.decode(userName));
props.put("database.password", CodeUtill.decode(password));
// 构建SqlSessionFactory工厂类,后面的明文将覆盖前面的密文。
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream, props);
setting设置
setting是Mybatis中最复杂的配置,它可以影响Mybatis底层的运行,大部分情况下使用默认便可。
<settings>
<setting name="cacheEnabled" value="true"><!--缓存总开关-->
<setting name="lazyLoadingEnable" value="false"><!--懒加载开关-->
<setting name="aggressiveLazyLoading" value="true"><!--积极载开关-->
<setting name="multipleResultSetsEnabled" value="true"/><!--单一语句返回多结果集-->
</settings>
以上是关于Mybatis配置的主要内容,如果未能解决你的问题,请参考以下文章
markdown [mybatis参考]关于mybatis #mybatis的一些片段