美文网首页
优化MyBatis配置文件

优化MyBatis配置文件

作者: Chowing | 来源:发表于2018-08-06 11:12 被阅读0次

    首先我们来看看MyBatis配置文件中的内容和顺序:

    <properties>(属性)
    <setting>(全局配置参数)
    <typeAliases>(类型别名)
    <typeHandlers>(类型处理器)
    <objectFactory>(对象工厂)
    <plugins>(插件)
    <environments>(环境集合属性对象)
        <environment>(环境子属性对象)
            <transactionManager>(事务管理)
            <dataSource>(数据源)
    <mappers>(映射器)
    
    • 可以把一些通用的属性值配置在属性文件中,加载到mybatis运行环境内。例如创建db.properties文件,然后在SqlMapperConfig.xml中进行配置。db.properties文件内容如下:
    jdbc.driver=com.mysql.cj.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/mybatis
    jdbc.username=root
    jdbc.password=123456789
    
    • 然后在SqlMapperConfig.xml中进行配置:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <properties resource="db.properties"/>
        ......
    

    然后在<environments>标签中用${}符号做如下修改:

     <environments default="development">
            <environment id="development">
                <transactionManager type="JDBC"/>
                <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>
            </environment>
    </environments>
    
    • <settings>全局参数配置
    • 3.<typeAliases>属性,可以将parameterType、resultType中指定的类型通过别名引用。
        <!--定义别名-->
        <typeAliases >
            <!--单个别名的定义-->
            <typeAlias type="domain.User" alias="uu"/>
            <!--批量别名定义,需要指定包路径,自动扫描里面的pojo,自动定义别名为类名-->
            <package name="domain"/>
        </typeAliases>
    
    • <typeHandlers>属性
      类型处理器将java类型和jdbc类型进行映射,mybatis提供了很多类型处理器,一般情况下够用了。

    • <mapper>映射器属性
      之前我们在配置文件中使用的<mapper>标签内容为:<mapper resource=“mapper/UserMapper.xml”/>,接下来我要讲的是另一种在配置文件中映射mapper动态代理的方法。在配置文件中这样配置<mapper class=“mapper.UserMapper”/>,这样的要求需要保证UserMapper.xml文件和UserMapper.java在同一个包下且.xml文件和.java文件名要同名。同上方别名的配置,当包下出现多个Mapper.java和Mapper.xml时我们采用批量配置:<package name=“mapper”/>,代码如下:

        <mappers>
            <!--<mapper resource="Member.xml"/>-->
            <package name="mapper"/>
        </mappers>
    

    相关文章

      网友评论

          本文标题:优化MyBatis配置文件

          本文链接:https://www.haomeiwen.com/subject/sodwvftx.html