时间:2021-07-01 10:21:17 帮助过:6人阅读
? 查询时,可以通过列别名的方式将列名和属性名保持一致,继续使用自动映射,但是较为麻烦。
?
POJO ---> Dept2.java:
private int id;
private String deptName;
private String loc; //只有loc与数据库一致
getter/setter/toString()
DeptMapper.xml:
<!-- 自定义映射关系-->
<!-- 1.id与select中的resultMap一致即可-->
<!-- 2.type就是之前的resultType-->
<!-- 3.<id>标签表示唯一,也可以用<result>标签,
property是POJO中的名字,column是数据库中的名字-->
<resultMap id="aa" type="Dept2">
<id property="id" column="deptno"></id>
<result property="deptName" columu="dname"></result>
</resultMap>
<select id="getBy2" resultMap="aa">
select * from dept where deptno = #{param1}
</select>
接口文件:
//POJO与数据库列名不一致时,根据id查数据
public List<Dept2> getBy2(int id);
main.java:
//POJO和数据库列名不一致时查数据
public void getBy3(){
List<Dept2> dept2List = deptMapper.getBy2(10);
System.out.println(dept2List);
//--->[Dept2{id=10, deptName=‘ACCOUNTING‘, loc=‘NEW YORK‘}]
}
POJO中属性名和数据库中的列名不一致问题
标签:vat 根据 app col 属性 property 机制 ltm 通过