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

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - Java教程 - mybatis遞歸 一對多的實現方法示例

mybatis遞歸 一對多的實現方法示例

2021-05-24 13:07陳灬大灬海 Java教程

這篇文章主要給大家介紹了關于mybatis遞歸 一對多實現的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

今天需要做一個功能,根據專業,有不同的章節,章節下面有對應的習題,

由于只有這么兩級,可以不用使用遞歸,直接查詢父集,之后foreach查詢子集放入對應的list集合。

雖然實現了,感覺畢竟,太low。

有同事跟我說可以使用mybatis的遞歸實現,就學習了下。

對應的bean里面需要有對應的list<bean> lists的引用。

直接上代碼

對應的sql語句

?
1
2
3
4
5
6
7
8
9
10
11
12
13
create table `goods_category` (
 `goodscateid` int(11) not null auto_increment,
 `name` varchar(255) default null,
 `parentid` int(11) default null,
 `description` varchar(255) default null,
 `displayorder` int(11) default null,
 `commissionrate` double default null,
 `enabled` int(11) default null,
 primary key (`goodscateid`)
) engine=innodb auto_increment=11 default charset=utf8;
 
/*data for the table `goods_category` */
insert into `goods_category`(`goodscateid`,`name`,`parentid`,`description`,`displayorder`,`commissionrate`,`enabled`) values (1,'java',0,'111',null,null,null),(2,'spring',1,'222',null,null,null),(3,'springmvc',1,'333',null,null,null),(4,'struts',1,'444',null,null,null),(5,'jdbc',0,'555',null,null,null),(6,'hibernate',5,'666',null,null,null),(7,'mybatis',5,'777',null,null,null),(8,'jdbctemplate',5,'888',null,null,null),(9,'beanfactory',3,'999',null,null,null),(10,'factorybean',3,'000',null,null,null);

實體類

?
1
2
3
4
5
6
7
8
9
10
11
@jsonignoreproperties({"displayorder","commissionrate","enabled"})
public class goodscategoryvo {
 private integer goodscateid;
 private string name;
 private integer parentid;
 private string description;
 private integer displayorder;
 private double commissionrate;
 private integer enabled;
 private list<goodscategoryvo> catelist;
get 。。。 set。。。 tostring。。。

dao層

?
1
2
3
public interface goodsmapper {
 list<goodscategoryvo> getcategory(integer pid);
}

mapper.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
<resultmap id="getself" type="com.bscc.beans.goodscategoryvo">
  <id column="goodscateid" property="goodscateid"></id>
  <result column="name" property="name"></result>
  <collection property="catelist" select="getcategory"
   column="goodscateid"></collection>
  <!--查到的cid作為下次的pid -->
 </resultmap>
 
 <select id="getcategory" resultmap="getself">
  select * from goods_category where parentid=#{pid}
  order by displayorder,goodscateid
 </select>

之后直接訪問對應的方法,即可查詢出來

?
1
2
3
4
5
6
7
@requestmapping("/getgoodslist")
 @responsebody
 public list<goodscategoryvo> getgoodslist(){
  // pid指定為0
  list<goodscategoryvo> list = goodsmapper.getcategory(0);
  return list;
 }

結果,可以使用json在線工具 ,也可以使用這個工具

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
[
 {
  "goodscateid": 1,
  "name": "java",
  "parentid": 0,
  "description": "111",
  "catelist": [
   {
    "goodscateid": 2,
    "name": "spring",
    "parentid": 1,
    "description": "222",
    "catelist": []
   },
   {
    "goodscateid": 3,
    "name": "springmvc",
    "parentid": 1,
    "description": "333",
    "catelist": [
     {
      "goodscateid": 9,
      "name": "beanfactory",
      "parentid": 3,
      "description": "999",
      "catelist": []
     },
     {
      "goodscateid": 10,
      "name": "factorybean",
      "parentid": 3,
      "description": "000",
      "catelist": []
     }
    ]
   },
   {
    "goodscateid": 4,
    "name": "struts",
    "parentid": 1,
    "description": "444",
    "catelist": []
   }
  ]
 },
 {
  "goodscateid": 5,
  "name": "jdbc",
  "parentid": 0,
  "description": "555",
  "catelist": [
   {
    "goodscateid": 6,
    "name": "hibernate",
    "parentid": 5,
    "description": "666",
    "catelist": []
   },
   {
    "goodscateid": 7,
    "name": "mybatis",
    "parentid": 5,
    "description": "777",
    "catelist": []
   },
   {
    "goodscateid": 8,
    "name": "jdbctemplate",
    "parentid": 5,
    "description": "888",
    "catelist": []
   }
  ]
 }
]

mybatis遞歸就是這么的簡單。

說下mybatis一對多實現

對應的bean

?
1
2
3
4
5
public class dept {
 private integer id;
 private string deptname;
 private string locadd;
 private list<emp> emps
?
1
2
3
4
5
@jsonignoreproperties("dept")
public class emp {
 private integer id;
 private string name;
 private dept dept;

dao層

?
1
2
3
public interface deptmapper {
 public dept getdeptbyid(integer id);
}
?
1
2
3
public interface empmapper {
 public emp getempbydeptid(integer deptid);
}

mapper.xml文件

?
1
2
3
4
5
6
7
8
9
10
11
12
<mapper namespace="com.bscc.mapper.deptmapper">
 <resultmap id="deptresultmap" type="com.bscc.beans.dept">
 <id property="id" column="id"/>
 <result property="deptname" column="deptname"/>
 <result property="locadd" column="locadd"/>
 <!-- private list<emp> emps; column="id"寫被集合對象主鍵,select按照外鍵鍵查詢,通過deptid查出emp給dept-->
 <collection property="emps" column="id" oftype="emp" select="com.bscc.mapper.empmapper.getempbydeptid"/>
 </resultmap>
 <select id="getdeptbyid" parametertype="integer" resultmap="deptresultmap">
  select * from tbl_dept where id=#{id}
 </select>
</mapper>
?
1
2
3
4
5
6
7
8
9
<mapper namespace="com.bscc.mapper.empmapper">
 <resultmap id="empresultmap" type="com.bscc.beans.emp">
 <id property="id" column="id"/>
 <result property="name" column="name"/>
 </resultmap>
 <select id="getempbydeptid" parametertype="integer" resultmap="empresultmap">
 select * from tbl_emp where deptid=#{deptid}
 </select>
</mapper>

對應的controller方法

?
1
2
3
4
5
6
@requestmapping("/getdeptbyid")
 @responsebody
 public dept getdeptbyid() {
  dept deptbyid = deptmapper.getdeptbyid(1);
  return deptbyid;
 }

無非就是比簡單查詢復雜一些罷了。

代碼目錄

mybatis遞歸 一對多的實現方法示例

ok!!!

對應的github地址

https://github.com/chywx/mavenproject6onetomany 

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:https://www.cnblogs.com/c-h-y/p/9434126.html

延伸 · 閱讀

精彩推薦
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
主站蜘蛛池模板: 亚洲www啪成人一区二区 | a级毛片免费在线 | www欧美 | 依依成人综合网 | 久久爱综合 | 成人免费视频网 | 国产精品久久久久久久浪潮网站 | 九九久久九九 | 国产午夜视频 | 国产精品自产拍在线观看 | 国产精品二区一区二区aⅴ污介绍 | 亚洲国产视频网站 | 午夜私人影院在线观看 | 透逼视频| 狠狠操综合网 | 日本全黄裸体片 | 亚洲 欧美 日韩 在线 | 亚洲深深色噜噜狠狠网站 | 成人片免费看 | 日韩色影| 做a视频免费观看 | 国产精品99一区二区三区 | 97成人在线免费视频 | 久久中文免费 | 嫩草在线视频 | 亚洲精品一区二三区不卡 | 福利片网站 | 成年网站在线观看 | 国产又色又爽又黄又免费 | 免费黄色在线看 | 中文字幕在线观看一区二区三区 | 中文字幕日韩视频 | 精品在线| 夜夜骑av | 蜜桃一区 | 全部免费毛片在线播放 | 亚洲成人av | 91国视频| 男女羞羞网站 | 日韩中文字幕视频 | 天天插天天操 |