Mybatis多表使用
查询:
多对一:
表A对条数据对应表B的一条数据,比如多个学生对应一个英语老师,我们要查询学生信息的同时打印出老师信息
关键词:
1、内连接
2、association
具体理解:
1、关联关系:从从表的实体类中要定义一个主表实体类的属性
2、再写sql,sql应该是内连接2张表,查询条件是a.主键=b.外键
3、resultMap:属性id:这个resultMap的唯一标识;属性type:返回的类型,应该是从表类型;属性id及result标签:从表的属性与数据库字段的映射
4、association:作用是对从表实体类中的主表类型属性的一个映射;属性property:对应从表实体类中改字段名称,属性id:对应从表中外键;属性javaType:对应该关联的主表实体类;属性id和result标签:关联的主表的属性与字段映射关系
5、select标签内,需要属性resultMap,值为上面的resultMap中的id值,sql语句提前写好即可
一对多:
【Mybatis多表使用】表A中的一条数据,在表B中有多条关联数据;比如,一个老师对应多个学生,查询这个老师下的学生列表
关键词:
1、左外连接
2、collection
具体操作:
1、关联关系:在主表的实体类新增属性List<从表实体类型>
2、再写sql,sql应该是左外连接,主表A在左,从表B在右,查询条件是a.主键=b.外键
3、resultMap:属性id:略;属性type:主表实体类型;属性id和result:对应type主表的属性和字段映射
4、collection:作用是与主表关联的从表集合(一对多,多个,所以用list放);属性property:主表中新增的那个list属性名;opType:List的泛型类型,也就是从表的实体类型;属性id和result:从表属性和字段映射
5、select标签内,需要属性resultMap,值为上面的resultMap中的id值,sql语句提前写好即可
推荐阅读
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- mybatisplus|mybatisplus where QueryWrapper加括号嵌套查询方式
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程
- 使用composer自动加载类文件