• MyBatis系列:二、配置文件详解


    本文会详细介绍MyBatis的常用配置

    1.properties节点

    <properties resource="mybatis-config.properties">
      <property name="username" value="dev_user"/>
      <property name="password" value="123456"/>
    </properties>
    resource配置了外部配置类,表示我们某些配置会放在外部,同时支持目前比较流行的 yml文件
    property节点中的元素可以被下面的其他节点作为变量引用,引用语法为${key}
    例如:
    下面的节点中,username 和password两个节点的内容会从properties中获取,而driver和url则会从外部配置文件中读取
    如果外部配置文件中与properties中有冲突的配置,会采用外部配置文件的配置
    <dataSource type="POOLED">
      <property name="driver" value="${driver}"/>
      <property name="url" value="${url}"/>
      <property name="username" value="${username}"/>
      <property name="password" value="${password}"/>
    </dataSource>

    从 3.4.2版本开始,我们可以为参数指定一个默认值写法为

    首先开启默认值的使用

    <properties resource="mybatis-config.properties">

    <property name="org.apache.ibatis.parsing.PropertyParser.enable-default-value" value="true"/>

    </properties>

    如果username 没有值,会采用默认值ut_user

     <property name="username" value="${username:ut_user}"/>

    2.关键设置

    <settings>
    //开启全局缓存,默认开启
    <setting name="cacheEnabled" value="true"/>
    //开启延时加载,默认关闭
    <setting name="lazyLoadingEnabled" value="true"/>
    //按需加载对象属性。默认关闭,如果开启了会加载对象的所有属性
    <setting name="multipleResultSetsEnabled" value="true"/>
    //使用数据库列别名代替列名,默认开启
    <setting name="useColumnLabel" value="true"/>
    //允许JDBC自动生成主键,默认关闭且需要驱动支持
    <setting name="useGeneratedKeys" value="false"/>
    //映射策略,默认PARTIAL只会映射没有定义嵌套的结果集
    <setting name="autoMappingBehavior" value="PARTIAL"/>
    //发现未知列时的策略默认为NONE不做提醒
    <setting name="autoMappingUnknownColumnBehavior" value="NONE"/>
    //配置默认的执行器默认SIMPLE
    <setting name="defaultExecutorType" value="SIMPLE"/>
    //自动超时时间
    <setting name="defaultStatementTimeout" value="25"/>
    //允许在嵌套语句中使用分页,默认False
    <setting name="safeRowBoundsEnabled" value="false"/>

    //是否开启驼峰命名映射默认False <setting name="mapUnderscoreToCamelCase" value="false"/>
    //本地缓存策略默认SESSION
    <setting name="localCacheScope" value="SESSION"/>
    //没有为参数提供JDBC类型时,的默认类型,一般为OTHER
    <setting name="jdbcTypeForNull" value="OTHER"/>

    //定义触发延时加载的方法:逗号分隔 <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/> </settings>

     3.映射器

    用于配置MyBatis 到哪里去找映射文件

    <mappers>
      <mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
      <mapper resource="org/mybatis/builder/BlogMapper.xml"/>
      <mapper resource="org/mybatis/builder/PostMapper.xml"/>
    </mappers>
    <mappers>
      <mapper class="org.mybatis.builder.AuthorMapper"/>
      <mapper class="org.mybatis.builder.BlogMapper"/>
      <mapper class="org.mybatis.builder.PostMapper"/>
    </mappers>
     

    4.类别名

    因为我们会写很多重复的包名,所以我们需要统一定义一下这些名称的缩写

    这样剩下使用domain.blog.Blog的地方只需要写Blog就可以了

    <typeAliases>
      <typeAlias alias="Blog" type="domain.blog.Blog"/>
    </typeAliases>
  • 相关阅读:
    windows多线程(三) 原子操作
    windows多线程(二) 等待线程返回
    windows多线程(一) 创建线程 CreateThread
    Js 中的原始值和引用值
    Linux 文件系统介绍
    Linux命令(二十) 显示系统内存状态 free
    Linux命令(十九) 查看系统负载 uptime
    Linux命令(十八) 压缩或解压缩文件和目录 gzip gunzip
    git使用
    python 中调用shell命令
  • 原文地址:https://www.cnblogs.com/Tassdar/p/12078266.html
Copyright © 2020-2023  润新知