Mybatis-plus 多表联查实现(非手写sql)
项目地址
https://gitee.com/hanscoding/mybatis-plus-helper
引入依赖
<dependency><groupId>io.github.githgf</groupId><artifactId>mybatis-plus-helper</artifactId><version>0.0.2</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.0.1</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.4.1</version></dependency>
代码示例
/*** 联查多条记录测试*/public List<Student> joinListTest() {// 主表wrapperJoinLambdaQueryWrapper<Student> studentWrapper = joinQueryWrapperForTable();// 副表wrapperJoinLambdaQueryWrapper<ScoreInfo> scoreWrapper = studentWrapper.innerJoin(ScoreInfo.class, Student::getNo, ScoreInfo::getStuNo);// 查询指定字段
// studentWrapper.select(Student::getNo);
// scoreWrapper.select(ScoreInfo::getScore, ScoreInfo::getStuScore);// 查询条件studentWrapper.in(Student::getId, Arrays.asList(2, 13));// 排序scoreWrapper.orderByDesc(ScoreInfo::getScore);return baseMapper.selectJoinList(studentWrapper);}/*** 联查单条测试*/public Student joinOneTest() {// 主表wrapperJoinLambdaQueryWrapper<Student> studentWrapper = joinQueryWrapperForTable();// 副表wrapperJoinLambdaQueryWrapper<ScoreInfo> scoreWrapper = studentWrapper.innerJoin(ScoreInfo.class, Student::getNo, ScoreInfo::getStuNo);// 查询指定字段
// studentWrapper.select(Student::getNo);
// scoreWrapper.select(ScoreInfo::getScore, ScoreInfo::getStuScore);// 查询条件studentWrapper.eq(Student::getId, 2);// 排序
// studentWrapper.orderByAsc(Student::getSex);return baseMapper.selectJoinOne(studentWrapper);}
Mybatis-plus 多表联查实现(非手写sql)相关推荐
- 用了MybatisPlus后,我很久没有手写sql了
(一)前言 最早写JDBC的时候,要手动配连接信息,要一条条手写sql语句.后来Mybatis出现了,不需要再手动配置连接信息,sql语句也和代码隔离开来,但是还免不了写Sql.接着出现了Mybati ...
- 精读《手写 SQL 编译器 - 回溯》
摘要: 1 引言 上回 精读<手写 SQL 编译器 - 语法分析> 说到了如何利用 Js 函数实现语法分析时,留下了一个回溯问题,也就是存档.读档问题. 我们把语法分析树当作一个迷宫,有直 ...
- 手写sql语句面试题
手写sql语句面试题 一.数据表 二.简单查询 1.查询姓名中带"猴"的学生名单 三.汇总分析 1.查询选了课程的学生人数 2.查询各科成绩最高和最低的分, 以如下的形式显示:课程 ...
- 精读《手写 SQL 编译器 - 错误提示》
1 引言 编译器除了生成语法树之外,还要在输入出现错误时给出恰当的提示. 比如当用户输入 select (name,这是个未完成的 SQL 语句,我们的目标是提示出这个语句未完成,并给出后续的建议: ...
- 精读《手写 SQL 编译器 - 文法介绍》
1 引言 文法用来描述语言的语法规则,所以不仅可以用在编程语言上,也可用在汉语.英语上. 2 精读 我们将一块语法规则称为 产生式,使用 "Left → Right" 表示任意产生 ...
- 精读《手写 SQL 编译器 - 性能优化之缓存》
1 引言 重回 "手写 SQL 编辑器" 系列.这次介绍如何利用缓存优化编译器执行性能. 可以利用 Frist 集 与 Match 节点缓存 这两种方式优化. 本文会用到一些图做解 ...
- 71.精读《手写 SQL 编译器 - 错误提示》
1 引言 编译器除了生成语法树之外,还要在输入出现错误时给出恰当的提示. 比如当用户输入 select (name,这是个未完成的 SQL 语句,我们的目标是提示出这个语句未完成,并给出后续的建议: ...
- jpi多表联查_使用mybatis进行多表联查
一.使用mybatis的基本步骤 1.导入jar包 2.配置文件 3.使用配置文件完成操作 二.实战演习 需求:教师表里有教师id和教师姓名 学生表里有学生id,姓名,年龄,教师id 一个教师有多个学 ...
- 使用mybatis进行四表联查
文章目录 一.问题背景 二.实际问题 三.问题解决 四.sql语句与XML映射文件 五.测试 一.问题背景 先数据库有用户表user.角色表role.菜单表menu.功能表funs和角色菜单关系表ro ...
- MyBatis Plus多表联查方法
MyBatis Plus是一款针对MyBatis框架的增强工具, 它提供了很多方便的方法来实现多表联查. 你可以使用MyBatis Plus的selectPage方法来实现多表联查, 该方法接收一个Q ...
最新文章
- 【ACM】杭电OJ 2037
- 2015结束,2016开始
- python编辑公式_分分钟甩Word几条街,Python编辑公式竟可以如此简单
- 用installshield打包的asp.net程序
- ArcGIS中国工具(ArcGISCTools)3.2 安装教程(附安装包下载)
- hdu 5691 Sitting in Line
- spring @value
- linux网站权限一直自动关闭,奇妙伞-解决SELinux对网站目录权限控制的不当的问题--网上摘抄集合,记录使用...
- 穿透还原12.1新变种病毒样本
- java装箱与拆箱_【转】java 自动装箱与拆箱
- ScrewTurn Wiki 初识
- 字符集本地化(locale)与输入法系列讲座-----(1) UTF-8 and Unicode FAQ
- 三星真机云测平台可能是最好的云测平台,因为他免费。
- flask 应用程序的工厂函数
- 拍拍抢拍精灵v2.1秒杀器所有源代码【开源】
- HTML5 音频文件
- Chrome漏洞分析与利用(三)——Issue-1062091漏洞分析
- android简历!写给即将正在找工作的Android攻城狮,已拿offer
- 解决百度网盘限速问题
- dmp标签_[重磅推荐]你必须知道的京准通DMP知识!
热门文章
- 网格搜索、随机搜索和贝叶斯调参总结与python代码实践
- 在html中frame标签的作用,HTML框架标签frameset、frame、iframe、noframes
- 翻译:生产中的机器学习:为什么你应该关心数据和概念漂移
- 算法:Three sum求三个数之和
- linux yum jemalloc,Redis安装报错error:jemalloc/jemalloc.h:No such file or directory解决方法
- Kaggle酒推荐,winemag-data-130k-v2.csv
- 190.颠倒二进制位
- 统计每个月兔子的总数
- main函数执行前后发生了什么
- N!阶层末尾有多少0