Mapper配置文件-结果映射
自动映射
可在settings中进行配置
autoMappingBehavior
将select的字段名映射到resultType类的同名属性
select id,user_name => User(id,user_name)
可使用SQL语句的AS别名,灵活性高
默认值为PARTIAL
| 可选值 | 说明 |
|---|---|
| NON | 不映射 |
| PARTIAL | 非嵌套映射 |
| FULL | 嵌套映射 |
mapUnderscoreToCamelCase
将select的字段(下划线列明)映射到resultType类的驼峰命名
select id,user_name => User(id,userName)
灵活性低,严格按照转换规则
map
使用map映射结果集,即Map<字段名, 值>
设置resultType="map"即可
可读性差
resultMap
自定义映射规则
1 | <resultMap id="该resultMap的id" type="对应的类全限定名或别名"> |
MyBatis自带的别名详见: https://mybatis.org/mybatis-3/zh/configuration.html#typeAliases
其中,以“_”开头的别名表示基础类型
resultMap的属性
| 属性 | 说明 |
|---|---|
| id | 该resultMap的id |
| type | 类全限定名或别名 |
| autoMapping | 是否自动映射 |
会覆盖全局setting的autoMappingBehavior
元素
| 元素 | 功能 |
|---|---|
| constructor | 构造函数,可以没有 |
| idArg | ID列,可提高性能 |
| arg | 其他参数 |
| id | ID列,可提高性能 |
| result | 其他列 |
元素的属性
| 属性 | 说明 |
|---|---|
| column | 列名/字段名 |
| jdbcType | 该列的数据库类型 |
| javaType | 该字段映射的Java类型 |
| property | 该字段对应的类属性 |
| typeHandler | jdbcType和javaType的转换器 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AlMirai!