数据库表中:
字段名:emp_id emp_name deept_id
Java实体类中属性:
使用驼峰形式:
private Integer empId; private String empName; private Integer age; private String gender; private Dept dept;
mybatis中直接用 resultType="emp" 就会导致属性名不匹配。
Emp(empId=null, empName=null, age=12, gender=男, dept=null)
<select id="getEmpList" resultType="emp"> select * from t_emp where emp_id = #{empId}; </select>
解决方法1:
<settings>
<!-- 将下划线映射为驼峰 解决数据库和属性名不一致问题-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
解决方法2:
resultMap:设置自定义映射关系 id:唯一标识 type:处理映射关系的实体类的类型 常用的标签: id:处理主键和实体类中属性的映射关系 result:处理普通字段和实体类中属性的映射关系 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>