• MyBatis中的collection两种常用使用方法(非常详细)


    MyBatis中的collection两种常用使用方法

    码云MybatisDemo: 用来学习springboot整合mybatis (gitee.com)

    collection主要是应对表关系是一对多的情况

    查询的时候,用到联表去查询

    接下来的小案例包括:市,学校,医院(随便写的),写一个最简单的demo

    主要的功能就是查询出所有的市以及对应的市下面所有的学校和医院

    实体类:医院

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Hospital {
        private int id;                 //医院编号
        private int urbanId;            //市的编号
        private String hospitalName;    //医院名称
        private Long people;            //医院人数
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    实体类:学校

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class School {
        private int id;               //学校编号
        private int urbanId;          //市的编号
        private String schoolName;    //学校名字
        private Long people;          //学校人数
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    实体类:市

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Urban {
        private int id;                   //市的编号
        private String cityId;            //省的编号(此博文没用到)
        private String urbanName;         //城市名字
        private List schools;     //对应的所有的学校
        private List hospitals; //对应的所有的医院
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    第一种方式,采用select

    首先我们要在学校和医院接口对应的xml中写出按照市的编号来查询出所有数据的xml

    xml:医院

    
    
    
        
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    xml:学校

    
    
    
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    接下来就是在的xml中对学校和医院的xml进行一个调用(用collection中select)

    
    
    
    	  
            
            
            
            
        
    
    		
    
    
    • 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

    第二种方式,执行一次sql

    
    
    
    		
            
            
            
    
            
                
                
                
                
            
    
            
                
                
                
                
            
        
    		
    
    
    • 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

    接下来就可以写两个接口来测试这两个xml配置是否正确,具体的代码在最上面的码云地址里,大家可以配合swagger进行测试。提供一个springboot整合swagger3的一个小教程springboot整合swagger3

  • 相关阅读:
    Redis + Caffeine = 王炸!!
    图文详解Linux基础经典教程(06)——CentOS安装JDK
    计算机毕业设计springboot+vue基本微信小程序的外卖点餐平台
    45、DVGO
    Double 4 VR智能互动系统在法律法庭上的模拟演练教学
    [Docker精进篇] Docker镜像构建和实践 (三)
    类似mac dock的tab切换组件
    【知识管理】总纲
    qml里使用组件的案例
    Vue单文件组件
  • 原文地址:https://blog.csdn.net/m0_67390379/article/details/126035217