mybatis学习笔记二 ——全局配置文件的属性(标签)

如果属性在不只一个地方进行了配置,那么 MyBatis 将按照下面的顺序来加载

在mybatis-config.xml映射文件中,所有标签都有顺序

查看标签顺序

  1.1:properties 属性  引入外部配置文件

<property name="username" value="${username:ut_user}"/> <!-- 如果属性 'username' 没有被配置,'username' 属性的值将为 'ut_user' -->

1.2:settings 属性 全局配置(mybatis-config.xml)

<settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/><!--开启命名下划线自动转驼峰!是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射。-->
    </settings>

 配置参数

<settings>
  <setting name="cacheEnabled" value="true"/>
  <setting name="lazyLoadingEnabled" value="true"/>
  <setting name="multipleResultSetsEnabled" value="true"/>
  <setting name="useColumnLabel" value="true"/>
  <setting name="useGeneratedKeys" value="false"/>
  <setting name="autoMappingBehavior" value="PARTIAL"/>
  <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
  <setting name="defaultExecutorType" value="SIMPLE"/>
  <setting name="defaultStatementTimeout" value="25"/>
  <setting name="defaultFetchSize" value="100"/>
  <setting name="safeRowBoundsEnabled" value="false"/>
  <setting name="mapUnderscoreToCamelCase" value="false"/>
  <setting name="localCacheScope" value="SESSION"/>
  <setting name="jdbcTypeForNull" value="OTHER"/>
  <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
</settings>

1.3:typeAliases属性 为java类取别名(不区分大小写)

      三种方式取别名

       a.<typeAlias type="entity.MyBatis" alias="tis"></typeAlias>为单个取别名

       b.<package name="entity"></package>整个包    如:entity.MyBatis自动取别名为myBatis

       c.@Alias("myBatis") 注解版

 

1.4:typeHandlers属性 类型处理器(mybatis 3.4以后的版本,类型处理器都自动适配)

       处理java类型与数据库类型的适配

1.5:处理枚举类型

 

1.6:对象工厂(objectFactory)

1.7:插件(plugins)拦截的方法调用,类似spring中的九大作用域

       

  • Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
  • ParameterHandler (getParameterObject, setParameters)
  • ResultSetHandler (handleResultSets, handleOutputParameters)
  • StatementHandler (prepare, parameterize, batch, update, query)

 

1.8:环境配置(environments)快速切换环境配置(如测试环境和开发环境的切换)

<environments default="test"><!-- default指定使用某个环境 -->
        <environment id="development"><!-- 开发环境 -->
        <environment id="test"><!-- 测试环境 -->

<!-- ↓↓↓↓↓↓↓↓↓↓ 不懂看下面 ↓↓↓↓↓↓↓↓↓↓ -->

1.9:数据库厂商标识(databaseIdProvider) 移植性-支持多数据库

      a、配置数据源

<environments default="test"><!-- default指定使用某个环境 -->
    <environment id="development"><!-- 开发环境 -->
            <transactionManager type="dev_mysql"/>
            <dataSource type="POOLED">
                <property name="driver" value="${mys.driver}"/>
                <property name="url" value="${mys.url}"/>
                <property name="username" value="${mys.username}"/>
                <property name="password" value="${mys.password}"/>
            </dataSource>
        </environment>
    <environment id="test"><!-- 测试环境 -->
            <transactionManager type="dev_oracle"/>
            <dataSource type="POOLED">
                <property name="driver" value="${ora.driver}"/>
                <property name="url" value="${ora.url}"/>
                <property name="username" value="${ora.username}"/>
                <property name="password" value="$ora.{password}"/>
            </dataSource>
        </environment>
</environments>

      b、配置产商标识(作用于c,在mapper文件中调用,体现)

<databaseIdProvider type="DB_VENDOR">
  <property name="SQL Server" value="sqlserver"/>
  <property name="MySql" value="mysql"/>
  <property name="Oracle" value="oracle" />
</databaseIdProvider>

    c、mapper.xml文件的SQL语句编写(xml配置文件中配置好别名后,在mybatis映射文件的方法里添加databaseid标签中添加别名)

<insert id="testAdd" databaseId="oracle" parameterType="entity.User"> <!-- databaseId配置使用什么数据库 -->

  

2.0:映射器(mappers)告诉 MyBatis 到哪里去找映射文件

    <mappers>
        a、xml映射文件   c、注解版
        <mapper resource="mybatis/MyBatisMapping.xml"/><!--映射文件-->
        b、接口
        <mapper class="dao.MyBatisMapping"></mapper><!--接口 映射文件必须和接口同名,并且和接口在同一目录下-->
        d、批量注册(一般使用这种)
        <package name="dao"></package>
    </mappers>

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值