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的一些片段

Mybatis——Dao层实现映射文件深入核心配置文件深入

mybatis学习(39):动态sql片段

SSM-MyBatis-05:Mybatis中别名,sql片段和模糊查询加getMapper

Mybatis 系列2

mybatis动态sql片段与分页,排序,传参的使用