内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

mybatis的一對(duì)多映射-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、含山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5商城開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為含山等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

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

一、使用內(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<WorksInfo> 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映射文件

<resultMap type="com.tarena.djs.entity.WorksInfo" id="worksInfoResultMap">     <id column="id" property="id" />     <result column="uploadDate" property="uploadDate" />     <result column="updateDate" property="updateDate" /> </resultMap> <resultMap type="com.tarena.djs.entity.User" id="UserResult">     <id column="id" property="id" />      <result column="email" property="email" />     <result column="telephone" property="telephone" />     <result  column="realName"  property="realName"/>     <collection property="worksInfos" resultMap="worksInfoResultMap" /> </resultMap> <select id="findTutorById" parameterType="int" resultMap="UserResult">     select u.*,w.*      from user u      left join worksInfo w      on u.id = w.userId      where u.id = #{id}     </select>

4)測(cè)試省略

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

1)實(shí)體類如上

2)dao層接口省略

3)mapper文件映射

<resultMap type="com.tarena.djs.entity.WorksInfo" id="worksInfoResultMap">     <id column="id" property="id" />     <result column="uploadDate" property="uploadDate" />     <result column="updateDate" property="updateDate" /> </resultMap> <select id="findWorksInfoByUserId" parameterType="int" resultMap="worksInfoResultMap">     select * from worksInfo where userId = #{userId} </select> <resultMap type="com.tarena.djs.entity.User" id="UserResult">     <id column="id" property="id" />      <result column="email" property="email" />     <result column="telephone" property="telephone" />     <result  column="realName"  property="realName"/>     <collection property="worksInfos" columns="id" select="findWorksInfoByUserId" /> </resultMap> <select id="findUserByUserId" parameterType="int" resultMap="UserResult">     select * from user where id = #{id} </select>

4)測(cè)試方法忽略

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

<collection property="worksInfos" columns="id" select="findWorksInfoByUserId" />

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

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

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

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前題目:mybatis的一對(duì)多映射-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://www.rwnh.cn/article30/docpso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化用戶體驗(yàn)、靜態(tài)網(wǎng)站、域名注冊(cè)微信小程序、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
芦溪县| 海南省| 广南县| 赞皇县| 富锦市| 漠河县| 紫云| 河北省| 福海县| 根河市| 望谟县| 玛曲县| 青铜峡市| 抚顺市| 泽普县| 阳西县| 富川| 江安县| 隆子县| 翁牛特旗| 定兴县| 成武县| 钦州市| 正定县| 东莞市| 罗山县| 新绛县| 玉溪市| 青河县| 合川市| 花垣县| 定安县| 新和县| 郴州市| 商南县| 哈密市| 天柱县| 彭州市| 湘潭县| 宝鸡市| 库尔勒市|