文章目录
MaBatis使用`ResultMap`标签手动映射详解使用 1、MyBatis只能自动维护库表”列名“与”属性名“相同时的对应关系,二者不同时无法自动ORM,如下: 2、在SQL中使用 as 为查询字段添加列别名,以匹配属性名: 但是如果我们的查询很多,都使用别名的话写起来岂不是很麻烦!
3、使用`ResultMap`标签手动映射,解决实体字段和数据表字段不一致的问题
MaBatis使用ResultMap
标签手动映射详解使用
1、MyBatis只能自动维护库表”列名“与”属性名“相同时的对应关系,二者不同时无法自动ORM,如下:
2、在SQL中使用 as 为查询字段添加列别名,以匹配属性名:
< select id= "findAll" resultType= "cn.fpl1116.pojo.Role" >
select id, role_name as roleName, role_desc as roleDesc from role
< / select>
但是如果我们的查询很多,都使用别名的话写起来岂不是很麻烦!
3、使用ResultMap
标签手动映射,解决实体字段和数据表字段不一致的问题
< ! --
结果映射
id= "findAll2ResultMap" :resultMap标签的id,,必须唯一
type= "cn.fpl1116.pojo.Role" :等价于resultType
-- >
< resultMap id= "findAll2ResultMap" type= "cn.fpl1116.pojo.Role" >
< ! -- 主键字段和属性的映射关系-- >
< id column= "id" property= "id" > < / id>
< ! -- 非主键字段和属性的映射关系-- >
< result column= "role_name" property= "roleName" > < / result>
< result column= "role_desc" property= "roleDesc" > < / result>
< / resultMap>
< ! --
resultMap:resultMap标签的id
-- >
< select id= "findAll2" resultMap= "findAll2ResultMap" >
select * from role
< / select>