Mybatis注解开发之@Results
生活随笔
收集整理的這篇文章主要介紹了
Mybatis注解开发之@Results
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
寫在前面:在使用mybatis注解開發的時候,數據庫返回的結果集和實體類字段不對應,我們就需要手動指定映射關系;
? ? ? ? ? ? ? ? ?一種是使用在xml文件中指定resultMap,指定id,下面需要的直接引用id就可以;
? ? ? ? ? ? ? ? ?另一種在使用注解開發的時候,我們只能通過注解@Results來指定對應關系了,那么注解只能每個方法用到了都得復制一遍@Results嗎?答案當然不是,注解@Results中提供了id屬性這就跟xml文件中的id作用一樣,下面引用的話可以用@ResultMap來引用。
? ? ? ? 首先說明一下@Results各個屬性的含義,id為當前結果集聲明唯一標識,value值為結果集映射關系,@Result代表一個字段的映射關系,column指定數據庫字段的名稱,property指定實體類屬性的名稱,jdbcType數據庫字段類型,@Result里的id值為true表明主鍵,默認false;使用@ResultMap來引用映射結果集,其中value可省略。
聲明結果集映射關系代碼:
@Select({"select id, name, class_id from my_student"}) @Results(id="studentMap", value={@Result(column="id", property="id", jdbcType=JdbcType.INTEGER, id=true),@Result(column="name", property="name", jdbcType=JdbcType.VARCHAR),@Result(column="class_id ", property="classId", jdbcType=JdbcType.INTEGER) }) List<Student> selectAll();引用結果集代碼:
@Select({"select id, name, class_id from my_student where id = #{id}"}) @ResultMap(value="studentMap") Student selectById(integer id);這樣我們就不用每次需要聲明結果集映射的時候都復制冗余代碼,簡化開發,提高了代碼的復用性。
轉載于:https://www.cnblogs.com/zhangguixing/p/10858124.html
總結
以上是生活随笔為你收集整理的Mybatis注解开发之@Results的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汽车零部件开发工具巨头V公司全套应用层U
- 下一篇: 五轴加工的RTCP技术