标签:
MyBatis 的配置文档的顶层结构如下:
configuration 配置
<?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> <!-- 有3处可以定义属性值,以下是根据优选级(1>2>3)读取,会覆盖优先级低的同名属性。 1. sqlSessionFactoryBuilder.build(reader, props); 方法中转入的属性。 2. properties 元素内定义的属性。 3. resource 读取的属性文件中的属性。 --> <properties resource="db.properties"> <property name="username1" value="dev_user" /> </properties> <!-- MyBatis内部的参数设置,将会改变MyBatis运行时的行为。 以下是几个常用的参数示例。 --> <settings> <!-- 已设置启用缓存,默认为true --> <setting name="cacheEnabled" value="true" /> <!-- 已设置启用延时加载,默认为false --> <setting name="lazyLoadingEnabled" value="true" /> <!-- 已设置启用单一SQL语句多个返回集,默认为true. --> <setting name="multipleResultSetsEnabled" value="true" /> </settings> <!-- 用于将一个 java 类型定义为一个简短的别名,用于减少类完全限定名的冗余. 比如在 environment 标签内所使用到的 JDBC, POOLED 就内置定义的别名. --> <typeAliases> <!-- 定义单个java类型,并为它定义一个别名. --> <typeAlias alias="user" type="cn.xleos.mybatis.po.User" /> <!-- 指定一个包下所有的 java 类型,并使用类名首字母小写做为其别名. 若存在多个包,只需要定义多个 package 标签. --> <!-- <package name="cn.xleos.mybatis.po" /> --> </typeAliases> <!-- 数据库字段值到实体属性的数据类型转换处理器定义 --> <typeHandlers> <!-- 这里定义的是可Serializable类型与Json类型的类型转换器. 当字段jdbc类型为CLOB,实体属性类型为Map,MyBatis将数据转实体时会默认调用此转换器. 在 mapper 配置文件中也可会字段指定其它转换器. --> <typeHandler handler="cn.xleos.mybatis.typehandlers.JsonTypeHandler" javaType="java.util.Map" jdbcType="CLOB" /> </typeHandlers> <!-- 用于在执行某个映射语句时的拦截调用. --> <plugins> <!-- 这是用于在执行 query 方法时用于数据库物理分页的. --> <plugin interceptor="cn.xleos.framework.mybatis.paginator.OffsetLimitInterceptor"> <!-- OffsetLimitInterceptor 的属性设置,告知分页插件所使用的数据库支持。 --> <property name="dialect" value="cn.xleos.framework.mybatis.paginator.dialect.MSSQL2005Dialect" /> </plugin> </plugins> <!-- --> <environments default="development"> <environment id="development"> <!-- 配置该工程所使用的事务管理器类型,JDBC 为 JdbcTransactionFactory.class 的别名 --> <transactionManager type="JDBC" /> <!-- 配置数据源类型, POOLED 为 PooledDataSourceFactory.class 的别名 --> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> <!-- 用于多数据库的支持,基于 mapper 映射语句的 databaseId属性。 DB_VENDOR 是 MyBatis中内置的 org.apache.ibatis.mapping.VendorDatabaseIdProvider 的别名。 --> <databaseIdProvider type="DB_VENDOR"> <!-- 以下 property.name 是通过 DatabaseMetaData#getDatabaseProductName() 获取的名称。 property.value 是定义简短的别名,它将用于匹配 mapper映射语句的 databaseId 属性。 --> <property name="SQL Server" value="sqlserver" /> <property name="DB2" value="db2" /> <property name="Oracle" value="oracle" /> </databaseIdProvider> <!-- 告诉 MyBatis到何处去查询映射文件. --> <mappers> <!-- 配置工程所使用的 User 的 Mapper 映射文件路径 --> <mapper resource="mapper/user.xml" /> </mappers> </configuration>
标签:
原文地址:http://www.cnblogs.com/xialiang/p/4575328.html