Mybatis之全局配置文件

全局配置文件内容和顺序如下(标签顺序不能乱)

<?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>

    <!-- 加载java的配置文件或者声明属性信息 -->
    <properties resource="db.properties">
        <property name="db.username" value="root" />
        <property name="db.password" value="root" />
    </properties>

    <!-- 全局参数设置 -->
    <settings>
        <setting name="" value=""/>
    </settings>

    <!-- 类型别名 -->
    <typeAliases>
        <!-- 单个别名定义 -->  
        <!-- <typeAlias type="com.zyj.mybatis.po.User" alias="user"/> -->  

        <!-- 批量别名定义(推荐) -->  
        <!-- package:指定包名称来为该包下的po类声明别名,默认的别名就是类名(首字母大小写都可) -->  
        <package name="com.zyj.mybatis.po" />  
    </typeAliases>

    <!-- 类型处理器,一般不需要使用 -->
    <typeHandlers></typeHandlers>

    <!-- 对象工厂,与spring整合后,交由spring管理,不需要使用 -->
    <objectFactory type=""></objectFactory>

    <!-- 插件,常用的有分页插件 -->
    <plugins></plugins>

    <!-- 配置mybatis的环境信息,与spring整合时,该信息由spring来管理 -->
    <environments default="development">
        <environment id="development">
            <!-- 配置JDBC事务控制,由mybatis进行管理 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置数据源,采用mybatis连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="${db.driver}" />
                <property name="url" value="${db.url}" />
                <property name="username" value="${db.username}" />
                <property name="password" value="${db.password}" />
            </dataSource>
        </environment>
    </environments>

    <!-- 加载映射文件 -->
    <mappers>
        <mapper resource="mapper/UserMapper.xml" />
        <!-- 批量加载映射文件 -->
        <package name="com.zyj.mybatis.mapper" />
    </mappers>

</configuration>

setting标签参数

Setting(设置) Description(描述) Valid Values(验证值组) Default(默认值)
cacheEnabled 全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存。 true / false FALSE
lazyLoadingEnabled 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态。 true / false FALSE
aggressiveLazyLoading 当开启时,任何方法的调用都会加载该对象的所有属性。否则,每个属性会按需加载(参考lazyLoadTriggerMethods). true / false false (true in ≤3.4.1)
multipleResultSetsEnabled 是否允许单一语句返回多结果集(需要兼容驱动)。 true / false TRUE
useColumnLabel 使用列标签,而不是列名。在这方面,不同的驱动有不同的行为。参考驱动文档或测试两种方法来决定你的驱动程序的行为如何。 true / false TRUE
useGeneratedKeys 允许JDBC支持生成的密钥。兼容的驱动程序是必需的。此设置强制生成的键被使用,如果设置为true,一些驱动会不兼容性,但仍然可以工作。 true / false FALSE
autoMappingBehavior 指定MyBatis的应如何自动映射列到字段/属性。NONE自动映射。 PARTIAL只会自动映射结果没有嵌套结果映射定义里面。 FULL会自动映射的结果映射任何复杂的(包含嵌套或其他)。 NONE, PARTIAL, FULL PARTIAL
defaultExecutorType 配置默认执行人。SIMPLE执行人确实没有什么特别的。 REUSE执行器重用准备好的语句。 BATCH执行器重用语句和批处理更新。 SIMPLE, REUSE, BATCH SIMPLE
defaultStatementTimeout 设置驱动程序等待一个数据库响应的秒数。 Any, positive, integer Not Set (null)
safeRowBoundsEnabled 允许使用嵌套的语句RowBounds。 true / false FALSE
mapUnderscoreToCamelCase 从经典的数据库列名A_COLUMN启用自动映射到骆驼标识的经典的Java属性名aColumn。 true / false FALSE
localCacheScope MyBatis的使用本地缓存,以防止循环引用,并加快反复嵌套查询。默认情况下(SESSION)会话期间执行的所有查询缓存。如果localCacheScope=STATMENT本地会话将被用于语句的执行,只是没有将数据共享之间的两个不同的调用相同的SqlSession。 SESSION / STATEMENT SESSION
dbcTypeForNull 指定为空值时,没有特定的JDBC类型的参数的JDBC类型。有些驱动需要指定列的JDBC类型,但其他像NULL,VARCHAR或OTHER的工作与通用值。 JdbcType enumeration. Most common are: NULL, VARCHAR and OTHER OTHER
lazyLoadTriggerMethods 指定触发延迟加载的对象的方法。 A method name list separated by commas equals,clone,hashCode,toString
defaultScriptingLanguage 指定所使用的语言默认为动态SQL生成。 A type alias or fully qualified class name. org.apache.ibatis.scripting.xmltags.XMLDynamicLanguageDriver
callSettersOnNulls 指定如果setter方法​​或地图的put方法时,将调用检索到的值是null。它是有用的,当你依靠Map.keySet()或null初始化。注意原语(如整型,布尔等)不会被设置为null。 true / false FALSE
logPrefix 指定的前缀字串,MyBatis将会增加记录器的名称。 任何字符串 Not set
logImpl 指定MyBatis的日志实现使用。如果此设置是不存在的记录的实施将自动查找。 SLF4J / LOG4J / LOG4J2 / JDK_LOGGING / COMMONS_LOGGING / STDOUT_LOGGING / NO_LOGGING Not set
proxyFactory 指定代理工具,MyBatis将会使用创建懒加载能力的对象。 CGLIB / JAVASSIST

typeAliases

1.mybatis支持的别名

别名 映射的类型
_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

2.自定义别名

<!-- 类型别名 -->
<typeAliases>
    <!-- 单个别名定义 -->  
    <!-- <typeAlias type="com.zyj.mybatis.po.User" alias="user"/> -->  

    <!-- 批量别名定义(推荐) -->  
    <!-- package:指定包名称来为该包下的po类声明别名,默认的别名就是类名(首字母大小写都可) -->  
    <package name="com.zyj.mybatis.po" />  
</typeAliases>

mappers

1.使用相对于类路径的资源

<mapper resource="sqlmap/User.xml" />

2.使用完全限定路径

<mapper url="file:///D:\workspace\mybatis_01\config\sqlmap\User.xml" />

3.使用mapper接口的全限定名

<mapper class="cn.zyj.mybatis.mapper.UserMapper"/>
注意:此种方法要求mapper接口和mapper映射文件要名称相同,且放到同一个目录下;

4.注册指定包下的所有映射文件(推荐)

<package name="cn.zyj.mybatis.mapper"/>
注意:此种方法要求mapper接口和mapper映射文件要名称相同,且放到同一个目录下;

猜你喜欢

转载自blog.csdn.net/code_shadow/article/details/80573279