美文网首页
二、全局配置

二、全局配置

作者: Class鸣 | 来源:发表于2018-09-12 15:50 被阅读5次

    详情(官方中文文档)


    全局配置

    一 根标签

    configuration根标签

    1.引入外部配置

    properties 引入外部配置文件

    <properties resource="dbconfig.propertise"></properties>
    

    2. setting 其他设置

    <settings>
        <setting name="_" value="_" />
    </settings>
    

    2.1驼峰命名法

    name="mapUnderscoreToCamelCase"
    value="true"


    2.2别名处理

    • 可以为java类型起别名
    • 别名不区分大小写
    <typeAliases>
        ...
    </tpeAliases>
    

    2.2.1逐个别名

    <typeAlias type="com.po.Student" alias="Student"/>
    

    2.2.2批量别名

    <!-- 批量别名,使用类名作为别名 -->
    <package name="com.po"/>
    

    2.2.3批量别名(指定别名)

    • 类名重复时
      • 使用@Alias注解为类指定别名

    已经默认的别名

    Alias       Mapped Type
    _byte       byte
    _long       long
    _short      short
    _int        int
    _integer    int
    _double     double
    _float      float
    _boolean    boolean
    string      String
    byte        Byte
    long        Long
    short       Short
    int         Integer
    integer     Integer
    double      Double
    float       Float
    boolean     Boolean
    date        Date
    decimal     BigDecimal
    bigdecimal  BigDecimal
    object      Object
    map         Map
    hashmap     HashMap
    list        List
    arraylist   ArrayList
    collection  Collection
    iterator    Iterator
    

    3. MyBatis环境environments

    环境environment

    • 属性 : id=""表示
    • 标签
      • <transactionManager type="JDBC|MANAGED" /> 事务管理器
      • <dataSource type="UNPOOL|POOLED|JNDI" />

    3.1数据库JDBC & POOLED

    ${jdbc.driver}使用这种形式获取外部配置文件的值

    <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.usersname}" />
                    <property name="password" value="${jdbc.password}" />
                </dataSource>
            </environment>
        </environments>
    

    4. 映射器mappers

    • resource
      • 引用类路径下的sql映射文件
    • url
      • 引用网络路径或者磁盘路径下的sql映射文件
        `file:///var/mapper/XxxMapper.xml
    • class
      • 引用(注册)接口
      1. 映射文件和接口必须同名同目录
      2. 注解的形式
        例如:
    @Select("select * from student")
    方法...
    

    4.1 类路径注册

    <!-- 使用相对于类路径的资源引用 -->
    <mappers>
      <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
      <mapper resource="org/mybatis/builder/BlogMapper.xml"/>
      <mapper resource="org/mybatis/builder/PostMapper.xml"/>
    </mappers>
    

    4.2URL路径注册

    <!-- 使用完全限定资源定位符(URL) -->
    <mappers>
      <mapper url="file:///var/mappers/AuthorMapper.xml"/>
      <mapper url="file:///var/mappers/BlogMapper.xml"/>
      <mapper url="file:///var/mappers/PostMapper.xml"/>
    </mappers>
    

    4.3 指定接口注册

    <!-- 使用映射器接口实现类的完全限定类名 -->
    <mappers>
      <mapper class="org.mybatis.builder.AuthorMapper"/>
      <mapper class="org.mybatis.builder.BlogMapper"/>
      <mapper class="org.mybatis.builder.PostMapper"/>
    </mappers>
    

    4.4 批量注册

    1. 接口名称和xml名称必须一模一样
    2. 批量时 xml 和 接口必须 放在同包里

    例如 :
    IUsersMapper.xml
    IUsersMapper.java

    <!-- 将包内的映射器接口实现全部注册为映射器 -->
    <mappers>
      <package name="org.mybatis.builder"/>
    </mappers>
    

    批量时 xml 和 接口必须 放在同包里


    懒加载 :全局配置设置

    • lazyLoadingEnabled 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载.
    • aggressiveLazyLoading 当开启时,任何方法的调用都会加载该对象的所有属性。否则,每个属性会按需加载.
    <settings>
        <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。
            默认值:false   
         -->
        <setting name="lazyLoadingEnabled   " value="true"/>
        <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。
            默认值:false   
         -->
        <setting name="aggressiveLazyLoading" value="false"/>
    </settings>
    

    相关文章

      网友评论

          本文标题:二、全局配置

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