mybatis 配置文件

Posted virgosnail

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis 配置文件相关的知识,希望对你有一定的参考价值。

传送门:mybatis 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="jdbc.properties">
        <!-- 如果属性在不只一个地方进行了配置,那么 MyBatis 将按照下面的顺序来加载: 
            在 properties 元素体内指定的属性首先被读取。 
            然后根据 properties 元素中的 resource 属性读取类路径下属性文件或根据 url 属性指定的路径读取属性文件,并覆盖已读取的同名属性。 
            最后读取作为方法参数传递的属性,并覆盖已读取的同名属性。 
            因此,通过方法参数传递的属性具有最高优先级,resource/url 属性中指定的配置文件次之,最低优先级的是 
            properties 属性中指定的属性。 
    -->
        <property name="driver" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
        <property name="username" value="root" />
        <property name="password" value="123456" />
    </properties>

    <!-- 这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为 -->
    <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>

    <!-- 类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。 -->
    <typeAliases>
        <typeAlias alias="user" type="com.skd.mybits.domain.User" />
        <!-- 
            每一个在包 domain.blog 中的 Java Bean,在 没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。 
            若有注解,则别名为其注解值。在类上的注解形式为 @Alias("author") 
        -->
        <package name="domain.blog" />
    </typeAliases>

    <!-- 无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成 
        Java 类型。 配置默认的处理器 -->
    <typeHandlers>
        <typeHandler handler="org.mybatis.example.ExampleTypeHandler" />
    </typeHandlers>

    <!-- MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 -->
  <objectFactory type="org.mybatis.example.ExampleObjectFactory">
    <property name="someProperty" value="100"/>
  </objectFactory>

    <!-- MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。 -->
    <plugins>
        <plugin interceptor="org.mybatis.example.ExamplePlugin">
            <property name="someProperty" value="100" />
        </plugin>
    </plugins>
    
    <!-- 配置环境 -->
    <environments default="development">
    
        <environment id="development">
            <!-- MyBatis 中有两种类型的事务管理器(也就是 type=”[JDBC|MANAGED]”) -->
            <transactionManager type="JDBC" />
            <!-- 配置数据库连接信息 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
                <property name="username" value="root" />
                <property name="password" value="123456" />
            </dataSource>
        </environment>
    </environments>

    <!-- MyBatis 可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的 databaseId 属性。 -->
    <databaseIdProvider type="DB_VENDOR">
        <property name="SQL Server" value="sqlserver" />
        <property name="DB2" value="db2" />
        <property name="Oracle" value="oracle" />
    </databaseIdProvider>
    
    <!-- 注册 UserMapper.xml 文件 -->
    <mappers>
        <mapper resource="UserMapper.xml" />
    </mappers>

</configuration>

 

以上是关于mybatis 配置文件的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis 系列2

Spring+SpringMVC+MyBatis+Maven框架整合

推荐学java——MyBatis高级

推荐学java——MyBatis高级

推荐学java——MyBatis高级

推荐学java——MyBatis高级