1 列别名
? 查询时,可以通过列别名的方式将列名和属性名保持一致,继续使用自动映射,但是较为麻烦。
2 使用
? 是属于自定义的映射关系,由程序员自己制定列名和属性名的映射关系,一旦使用resultMap,表示不再使用自动映射机制,属性不再其中的,可以自动映射,但POJO属性名必须和数据库列名一致:
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 通过
查看更多关于POJO中属性名和数据库中的列名不一致问题的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did117359