mybatis中多對多一對多實例,maven+springMvc+mybatis


    原文鏈接:http://blog.csdn.net/laiwanwanyihao/article/details/72943421,是本博主寫的,

附源碼,免費下載

 

前言

好久沒用過mybatis了,現在復習一下,順帶着整理一下東西,

本人maven用的不好,架構參照來源http://www.cnblogs.com/GarfieldEr007/p/5746263.html,

本片文章例子為簡單的小例子,參考的文章也是介紹mybatis,不過我沒看,我就下了maven架構就開始搞自個的例子了,因為原博主的文章寫得太長了,懶得看了

maven架構

maven構架springMvc+mybatis這里我就不一一展示了,想必各位都知道,不清楚的看源碼就行了,

數據庫

數據庫很簡單 三個表 A   AB        B     其中AB為中間表,A  與 B 為多對多關系,,,今天就整理下A與B多對多和A與AB一對多的兩種關聯映射處理,(注意數據庫中表字段不要重名,比如A表主鍵與B表主鍵不要重名,不然查出來結果會不全,陷這個坑好久才明白過來)

 

多對多

 


 
  1. <!-- 多對多 -->  
  2.     <resultMap id="BaseResultMap2" type="cn.test.model.A">  
  3.         <id column="aid" property="aid" jdbcType="INTEGER" />  
  4.         <result column="a_name" property="aname" jdbcType="VARCHAR" />  
  5.         <collection property="bLists" ofType="cn.test.model.B">  
  6.             <id property="bid" column="bid" />  
  7.             <result property="bname" column="b_name" />  
  8.         </collection>  
  9.     </resultMap>  
  10.   
  11.     <select id="selectAByIdUnionB" resultMap="BaseResultMap2"  
  12.         parameterType="java.lang.Integer">  
  13.         select  
  14.         *  
  15.         from a inner join a_b on a.aid = a_b.a_id inner  
  16.         join b on a_b.b_id = b.bid where a.aid=#{id jdbcType="INTEGER"}  
  17.     </select>  

 

測試

 


 
  1. //多對多  
  2.     @org.junit.Test  
  3.     public void seectAByIdUnionB() {  
  4.       
  5.         for(A a:aService.selectAByIdUnionB(1)){  
  6.             System.out.print(a.getAname()+">>>>>>>");  
  7.             for(B b :a.getbLists() ){   
  8.                 System.out.print(b.getBname());  
  9.             }  
  10.             System.out.println("\n");  
  11.         }   
  12.           
  13.     }  
  14.       

結果

 

 

 

一對多

 


 
  1. <!-- 一對多 -->  
  2.   
  3.     <resultMap type="cn.test.model.A" id="OneToManay">  
  4. <id column="aid" property="aid" jdbcType="INTEGER" />  
  5.         <result column="a_name" property="aname" jdbcType="VARCHAR" />  
  6.         <collection property="abLists" ofType="cn.test.model.AB">  
  7.             <id property="id" column="id" />  
  8.             <result property="a" column="a_id" />  
  9.             <result property="b" column="b_id" />  
  10.         </collection>  
  11.     </resultMap>  
  12.   
  13.     <select id="selectAtoAB" resultMap="OneToManay" parameterType="INTEGER">  
  14.     select * from a inner join a_b on a.aid=a_b.a_id where a.aid=#{id jdbcType="INTEGER"}  
  15.     </select>  


測試

 
  1. //一對多  
  2.     @org.junit.Test  
  3.     public void onetomany(){  
  4.         for(A a :aService.selectAtoAB(1)){  
  5.             System.out.print(a.getAname()+">>>>>>>");  
  6.             for (AB ab : a.getAbLists()) {  
  7.                 System.out.print(ab.getId());  
  8.                 //System.out.print(ab.getA());  
  9.                 //System.out.print(ab.getB());  
  10.             }  
  11.             System.out.println("\n");  
  12.         }  
  13.           
  14.     }  
  15.       

結果

 

 

 

 


好了 希望給各位需要的同志們有所幫助,

源碼下載地址:http://download.csdn.NET/detail/laiwanwanyihao/9865160

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM