java 字段映射注解_mybatis注解开发中实体属性和表字段不对应问题
在項目的實際開發中,有可能會遇到實體類中的屬性名與列名不相同,不能改但。導致不能自動裝配值的問題,此時可以接合@Results、@Result、@ResultMap實現開發
1.@Results注解
代替的是標簽
該注解中可以使用單個@Result注解,也可以使用@Result集合
@Results({@Result(),@Result()})或@Results(@Result())
注意:使用注解是若報出org.apache.ibatis.binding.BindingException:Invalid bound statement (not found):接口全類名.方法名
可能是使用@Results注解時忘記使用@Select注解
2.@Resutl注解
代替了 標簽和標簽
@Result 中 屬性介紹:
column 數據庫的列名
Property需要裝配的屬性名
one? 需要使用的@One注解(@Result(one=@One)()))
many? 需要使用的@Many注解(@Result(many=@many)()))
@Select("select * from course")
@Results({
@Result(column = "c_id",property = "cid",javaType = Integer.class),
@Result(column = "c_name",property = "cname",javaType = String.class),
@Result(column = "c_pro", property = "cpro", javaType = String.class),
@Result(column = "c_rough",property = "crough",javaType = String.class)
})
List queryAll();
3、共用@Results——resultMap
為了解決重復使用,那就要讓他變成一個有id的整體,其他地方要用就直接調用
@ResultMap(“id”)
@Result中通過id屬性引用這個resultMap
@Select("select * from course")
@Results(id = "courseMap",value = {
@Result(column = "c_id",property = "cid",javaType = Integer.class),
@Result(column = "c_name",property = "cname",javaType = String.class),
@Result(column = "c_pro", property = "cpro", javaType = String.class),
@Result(column = "c_rough",property = "crough",javaType = String.class)
})
List queryAll();
@Select("select * from coursewhere c_id=#{cid}")
@ResultMap("courseMap")
Course queryById(int cid);
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的java 字段映射注解_mybatis注解开发中实体属性和表字段不对应问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 妙网相册拼版软件如何插入文本框/修改文本
- 下一篇: 妙网相册拼版软件如何使用快捷键?妙网相册