国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務(wù)器之家 - 編程語言 - Java教程 - mybatis中延遲加載Lazy策略的方法

mybatis中延遲加載Lazy策略的方法

2021-05-10 11:31JYLM Java教程

這篇文章主要介紹了mybatis中延遲加載Lazy策略,需要的朋友可以參考下

lazy策略原理:只有在使用查詢sql返回的數(shù)據(jù)是才真正發(fā)出sql語句到數(shù)據(jù)庫,否則不發(fā)出(主要用在多表的聯(lián)合查詢)

1.一對一延遲加載

假設(shè)數(shù)據(jù)庫中有person表和card表:其中person表中有字段pid,pname,page,psex,cid,card表中有字段cid,cnum;

假設(shè)要查詢某個人的姓名和身份證號碼:

原理:在查詢姓名時,實際本沒有查詢出身份證號碼的信息,只有當(dāng)前臺使用身份證號時才發(fā)出對card的查詢,需要查詢出身份證號碼是采取查詢的一種策略;

實現(xiàn)實例:

實現(xiàn)步驟:

       1-導(dǎo)入mybatis 的依賴jar包

       2-添加log4j文件 (可查看內(nèi)存中實際執(zhí)行的程序)

1-原理:只有當(dāng)前臺使用身份證號時才發(fā)出對card的查詢,否則只發(fā)出person信息的查詢
          2-開啟lazy:在conf.xml

?
1
2
3
4
<settings>
    <setting name="lazyloadingenabled" value="true"/>
    <setting name="aggressivelazyloading" value="false"/>
  </settings>

3.實現(xiàn):

(1)在mapper.xml映射文件中:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<select id="findcid" parametertype="int" resulttype="card">
    select * from card where cid=#{value}
  </select>
  <resultmap type="person" id="p_c1">
    <id column="pid" property="pid" />
    <result column="pname" property="pname" />
    <result column="page" property="page" />
    <result column="psex" property="psex" />
    <association property="card" javatype="card" select="findcid"
      column="cid">
    </association>
  </resultmap>
  <select id="selectpersonandcardlazybypid" parametertype="int"
    resultmap="p_c1">
    select * from person where pid=#{value}
  </select>

     1-select:指定關(guān)聯(lián)的查詢語句

     2-column:指定主語句中的哪個字段的值作為參數(shù)傳遞給從sql語句

(2)在mapper接口中定義方法:

?
1
public person selectpersonandcardlazybypid(int pid);

(3)使用junit測試結(jié)果:

1.此處是只發(fā)出person信息的查詢;

?
1
2
3
4
5
6
7
@test
  public void testselectpersonandcardlazybypid(){//lazy策略一對1
    person p=pm.selectpersonandcardlazybypid(1);
    //system.out.println(p);
    system.out.println(p.getpname()+",");
    //system.out.println(p.getpname()+","+p.getcard().getcnum());
  }

結(jié)果執(zhí)行的查詢語句:

mybatis中延遲加載Lazy策略的方法

2.當(dāng)前臺使用身份證號時才發(fā)出對card的查詢

?
1
2
3
4
5
6
7
@test
  public void testselectpersonandcardlazybypid(){//lazy策略一對1
    person p=pm.selectpersonandcardlazybypid(1);
    //system.out.println(p);
    system.out.println(p.getpname()+",");
    system.out.println(p.getpname()+","+p.getcard().getcnum());//當(dāng)前臺使用身份證號時才發(fā)出對card的查詢
  }

結(jié)果執(zhí)行的查詢語句:

mybatis中延遲加載Lazy策略的方法

2.一對多延遲加載:

實現(xiàn)實例:

假設(shè)數(shù)據(jù)庫中有person表和card身份信息表,adder地址表:其中person表中有字段pid,pname,page,psex,cid,card表中有字段cid,cnum;adder表有字段aid,ashi,pid

假設(shè)要查詢某個人的姓名和住址,身份證號碼:

(1)mapper.xml映射文件:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!-- lazy策略一對多 -->
  <select id="fingcard_adder" parametertype="int" resulttype="adder">
    select * from adder where pid=#{value}
  </select>
  <select id="findcid1" parametertype="int" resulttype="card">
    select * from card where cid=#{value}
  </select>
  <resultmap type="person" id="p_c1_a1">
    <id column="pid" property="pid" />
    <result column="pname" property="pname" />
    <result column="page" property="page" />
    <result column="psex" property="psex" />
    <association property="card" javatype="card" select="findcid1"
      column="cid">
    </association>
    <collection property="adder" oftype="adder" select="fingcard_adder"
      column="pid">
    </collection>
  </resultmap>
  <select id="selectpersonandcardandadderlazybypid" parametertype="int"
    resultmap="p_c1_a1">
    select * from person where pid=#{value}
  </select>

(2)mapper接口定義方法:

1.此處是只發(fā)出person信息的查詢;

?
1
2
3
4
5
@test
public void testselectpersonandcardandadderlazybypid(){//lazy策略一對多
  person p=pm.selectpersonandcardandadderlazybypid(1);
  system.out.println(p.getpname()+",");////此處是只發(fā)出person信息的查詢
}

結(jié)果執(zhí)行的查詢語句:

mybatis中延遲加載Lazy策略的方法

2.此處是發(fā)出person信息和身份信息的查詢;

?
1
2
3
4
5
6
@test
public void testselectpersonandcardandadderlazybypid(){//lazy策略一對多
  person p=pm.selectpersonandcardandadderlazybypid(1);
  system.out.println(p.getpname()+",");//此處是只發(fā)出person信息的查詢;
  system.out.println(p.getpname()+","+p.getcard().getcnum());//此處是發(fā)出person信息和身份信息的查詢;
}

 結(jié)果執(zhí)行的查詢語句:

mybatis中延遲加載Lazy策略的方法

3.此處發(fā)出person信息和身份信息,地址信息的查詢;

?
1
2
3
4
5
6
7
8
9
10
@test
public void testselectpersonandcardandadderlazybypid(){//lazy策略一對多
  person p=pm.selectpersonandcardandadderlazybypid(1);
  system.out.println(p.getpname()+",");//此處是只發(fā)出person信息的查詢;
  system.out.println(p.getpname()+","+p.getcard().getcnum());//此處是發(fā)出person信息和身份信息的查詢;
  //system.out.println(p.getpname()+","+p.getcard().getcnum());
  for (adder adder : p.getadder()) {////此處發(fā)出person信息和身份信息,地址信息的查詢;
    system.out.println(adder.getashi());
  }  
}

 結(jié)果執(zhí)行的查詢語句:

mybatis中延遲加載Lazy策略的方法

總結(jié)

以上所述是小編給大家介紹的mybatis中延遲加載lazy策略的方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

原文鏈接:https://blog.csdn.net/m0_37905429/article/details/77074312

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 色久视频 | 婷婷综合在线 | 国产情侣一区二区三区 | 亚洲人一区二区 | 精品久久免费 | 亚洲免费视频大全 | 亚洲精品久久久蜜桃 | 国产精品久久久久久久久免费桃花 | 黄网视频 | 国产精品久久久久久久久久新婚 | 国产美女自拍视频 | 欧美大黄大色一级毛片 | 日本电影中文字幕 | 午夜在线影院 | 欧美一区二区三区在线观看视频 | 99热手机在线观看 | 三级av在线 | 一区二区三区av | 免费亚洲网站 | 亚洲一区二区三区在线播放 | 亚洲精品一区二区三区在线播放 | 四虎影视免费看电影 | 91在线网站 | 九色porny国模私拍av | 中文字幕 亚洲一区 | 成人黄色在线观看 | 亚洲高清视频一区二区 | 亚洲一区免费在线观看 | 一区二区三区视频 | 亚洲一区欧美 | 日韩第一区 | 久久午夜精品 | 精品三级三级三级三级三级 | 久久视频免费 | 欧美精品在线一区 | 日韩欧美专区 | 九色 在线| 日日夜夜精品免费视频 | 日韩免费视频 | 国产欧美视频一区二区 | 成人羞羞网站 |