属性
Mybatis configuration包含属性及作用介绍如下
属性列表:
settings 标签包含多个设置项
- properties 引入外部配置
- mapUnderscoreToCamelCaseEnables 设置下划转驼峰命名
-
属性配置示例:
-
properties:
-
<?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:类路径资源 url:磁盘路径资源或者网络资源 将 dataSource 相关的配置独立于 jdbc.properties,以 properties 的方式将其引入;使配置清易辩 --> <properties resource="conf/jdbc.properties"></properties> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"></transactionManager> <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> <mappers> <mapper resource="mapper/ActivityMapper.xml"></mapper> </mappers> </configuration> - mapUnderscoreToCamelCaseEnables:
-
<!-- mapUnderscoreToCamelCaseEnables 设置下划线转驼峰命名 --> <settings> <setting name="mapUnderscoreToCamelCaseEnables" value="true"/> </settings> -
typeAliases:
-
<!-- typeAlias 单个指定别名 --> <typeAliases> <!-- typeAlias:为指定的Java类型设置别名 type:指定Java类型 alias:指定别名,如果不指定默认为指定Java类型类名小写 --> <typeAlias type="java.lang.String" alias=""/> </typeAliases> <!-- 批量指定别名 --> <typeAliases> <!-- package 可以批量的指定别名 name:指定批量别名的包路径 使用 @Alias 注解为某个类指定别名 --> <package name="test"/> </typeAliases> -
typeHeadlers:
- 类型处理器,在jdk实现了 jsr310 标准后时间类库更加丰富;Mybatis使用typeHeadler可以完成Java类型与数据库类型的兼容,但是在Mybatis 3.x 之后这些都已经封装好好了;无需开发者参与。
-
plugins:
-
Executor:
- Executor(update,query,flushStatements,commit,rollback,getTransaction,close,isClosed) CRUD 执行器
-
ParameterHandler:
- ParameterHandler(getParameterObject,setParameters) sql 语句设置参数
-
ResultSetHandler:
- ResultHandler(handleResultSets,handleOutPutParameters) 结果集处理器,加结果集封装到实体
-
StatementHandler:
- StatementHandler(prepare,parametersize,batch,update,query) sql 语句处理器
- environments:
-
environments(环境):包含多个 environment,使用 default 指定一个环境 environment(具体环境配置信息,其中 id 属性表示当前环境的唯一标识): transactionMamanger(事务管理器): type(事务管理器类型):[JDBC(jdbcTransactionFactory) | MANAGER(managerTransactionFactory)] 自定义事务管理,实现 TransactionFacotry,type 指定实现 TransactionFacttory 的实现全类名 dataSource(数据源): type:[UNPOOLED(unPooledDataSourceFactory)| POOLED(pooledDataSourceFactory)| JNDI(jndiDataSourceFactory)] 自定义数据源: 实现 DataSourceFactory 接口,type 配置 DataSourceFacotry 实现类的全类名 -
dataBaseIdProvider: -
<!-- 映射文件 --> <!-- databaseId 指定数据库厂商的别名 --> <select id="selectUserById" parameterType="java.lang.Long" resultType="test.UserEntity" databaseId="mysql"> select user_id as userId,username,password,email,mobile,status,create_user_id as createUserId,create_time as createTime,dept_id as deptId from sys_user where user_id = #{userId} </select> <!-- Mybatis 全局配置文件 --> <!-- 支持多数据库厂商,不同数据库 sql 的兼容; type="DB_VENDOR" VendorDataBaseIdProvider 获取数据厂商的标识(驱动getDatabaseProductName()) --> <databaseIdProvider type="DB_VENDOR"> <!-- 为不同数据厂商指定别名 --> <property name="MySql" value="mysql"/> <property name="Oracle" value="oracle"/> </databaseIdProvider> - mappder:
-
<!-- mappers 将sql映射注册到全局配置中 resource:引入类路径下的映射文件 url:引用磁盘路径或者网络路径下的映射文件 class:引用接口(注册),使用这种方式注册需要 mapper 配文件放在接口同目录下并且与接口 同名 --> <mappers> <mapper resource="mapper/ActivityMapper.xml"></mapper> </mappers>
本文深入解析MyBatis配置文件的各个元素,包括properties、settings、typeAliases、typeHandlers、plugins等,阐述如何通过配置实现数据库连接、参数处理、结果集映射等功能,以及如何针对不同数据库进行兼容性配置。
1329

被折叠的 条评论
为什么被折叠?



