真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mybatis的一對(duì)多映射

    延續(xù)mybatis的一對(duì)一問題,還是上面一對(duì)一舉得那個(gè)例子(http://fengcl.blog.51cto.com/9961331/1875657),

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、墨脫網(wǎng)站維護(hù)、網(wǎng)站推廣。

如果一個(gè)用戶有多個(gè)作品怎么辦?這就涉及到了一對(duì)多的問題。同樣的,mybatis一對(duì)多依然可以分為兩種方式來解決。

一、使用內(nèi)嵌的ResultMap實(shí)現(xiàn)一對(duì)多映射

1)實(shí)體

public class User implements Serializable{
    private static final long serialVersionUID = 112596782083832677L;
    private Integer id;			//編號(hào)
    private String email; 		//郵箱
    private String realName; 	//真實(shí)姓名
    private String telephone;   //電話號(hào)碼
    
    private List worksInfos; //作品
    //get,set方法
    ...
}

public class WorksInfo implements Serializable{
    private Integer id;
    private  Integer userId;
    private Date uploadDate; //上傳時(shí)間
    private Date updateDate; //更新時(shí)間
    //get,set方法
    ...
}

2)dao接口省略...

3)mapper映射文件


    
    
    


     
    
    
    
    


    select u.*,w.* 
    from user u 
    left join worksInfo w 
    on u.id = w.userId 
    where u.id = #{id}    

4)測試省略

二、嵌套查詢方式實(shí)現(xiàn)一對(duì)多

1)實(shí)體類如上

2)dao層接口省略

3)mapper文件映射


    
    
    


    select * from worksInfo where userId = #{userId}


     
    
    
    
    


    select * from user where id = #{id}

4)測試方法忽略

注意:collention元素里的column屬性,即主表中要傳遞給副表做查詢的條件,例如本例中:


及時(shí)將user表中的id字段傳遞給findWorksInfoByUserId方法做參數(shù)使用的,對(duì)應(yīng)worksInfo表中的userId字段。除此之外,嵌套select語句會(huì)導(dǎo)致N+1的問題。首先,主查詢將會(huì)執(zhí)行(1 次) ,對(duì)于主

查詢返回的每一行,另外一個(gè)查詢將會(huì)被執(zhí)行(主查詢 N 行,則此查詢 N 次) 。對(duì)于

大型數(shù)據(jù)庫而言,這會(huì)導(dǎo)致很差的性能問題。 


當(dāng)前題目:mybatis的一對(duì)多映射
分享路徑:http://weahome.cn/article/piohgj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部