MyBatis中字段名和属性名不一致时,如何处理映射关系

1.为查询的字段设置别名,和属性名保持一致

select emp_id empId,emp_name empName,age,gender from t_emp where emp_id=#{empId}



2.当字段符合MySQL的要求使用_,而属性符合Java的要求使用驼峰
此时可以在MyBatis的核心配置文件中设置一个全局配置
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
<</settings>
可以自动将下划线映射为驼峰
emp_id:empId
emp_name:empName


3.使用resultMap自定义映射处理

resultMap:设置自定义映射关系
id:唯一标识
type:处理映射关系的实体类的关系
常用标签:
id:处理主键和实体类中属性的映射关系
result:处理普通字段和实体类中属性的映射关系
association:处理多对一的映射关系(处理实体类类型的属性)
collection:处理一对多的映射关系(处理集合类型的属性)
column:设置映射关系中的字段名,必须是sql查询出来的某个字段
property:设置映射关系中的属性的属性名,必须是处理的实体类类型中的属性名

<resultMap id="empResultMap" type="Emp">
        <id column="emp_id" property="empId"></id>
        <result column="emp_name" property="empName"></result>
        <result column="age" property="age"></result>
        <result column="gender" property="gender"></result>
    </resultMap>
posted @ 2022-09-15 16:35  别亦难  阅读(172)  评论(0)    收藏  举报