1.entity层要写个Vo实体类

2.controller

@AutoLog(value = "员工CURD-分页列表查询")
@ApiOperation(value="员工CURD-分页列表查询", notes="员工CURD-分页列表查询")
@GetMapping(value = "/list")
public Result<?> queryPageList(EmployeeVo employee,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
//QueryGenerator.initQueryWrapper是jeecg-boot封装的查询,默认支持所有复杂的检索查询
QueryWrapper<EmployeeVo> queryWrapper = QueryGenerator.initQueryWrapper(employee, req.getParameterMap());
Page<EmployeeVo> page = new Page<EmployeeVo>(pageNo, pageSize);
//自定义getAll接口
IPage<EmployeeVo> pageList=employeeService.getAll1(page,queryWrapper);
return Result.ok(pageList);
}

3.servlce

1
2
3
4
5
6
7
8
9
10
@Service
public class EmployeeServiceImpl extends ServiceImpl<EmployeeMapper, EmployeeVo> implements IEmployeeService {
 
  @Resource
  private EmployeeMapper employeeMapper;
    @Override
    public IPage<EmployeeVo> getAll1(Page<EmployeeVo> page, QueryWrapper<EmployeeVo> queryWrapper) {
        return employeeMapper.findByPage(page,queryWrapper);
    }
}

4.mapper.java

public interface EmployeeMapper extends BaseMapper<EmployeeVo> {
/**
* mybatis-plus多表查询
* @param page
* @param wrapper
* @return
*/

//参数加上@Param(Constants.WRAPPER),xml里加上${ew.customSqlSegment}可以实现复杂条件检索查询
IPage<EmployeeVo> findByPage(IPage<EmployeeVo> page, @Param(Constants.WRAPPER) Wrapper<EmployeeVo> wrapper); }

5.mapper.xml

<!--mybatis-plus多表联合查询,带上${ew.customSqlSegment就可以实现查询-->
<select id="findByPage" resultType="org.jeecg.modules.demo.employeetest.entity.EmployeeVo">
select employee.*,department.dep_name from employee left join department
on employee.sys_org_code = department.id ${ew.customSqlSegment}
</select>

6.查询出来的结果

{
"success": true,
"message": "操作成功!",
"code": 200,
"result": {
"records": [
{
"createTime": "2020-10-14 16:35:36",
"sex": "女",
"name": "helloTest",
"updateTime": "2020-10-14 16:41:41",
"id": "1316296704307597313",
"depName": "研发部",//这个是部门表中的字段,同过两表联查查询出来的
"age": 23,
"hobby": "打牌"
},
{
"createTime": "2020-08-01 16:50:04",
"sex": "男",
"name": "萨芬",
"updateTime": "2020-09-17 16:50:07",
"id": "2",
"depName": "人事部",
"age": 12,
"hobby": "阿斯顿"
}
],
"total": 2,
"size": 10,
"current": 1,
"orders": [],
"optimizeCountSql": true,
"hitCount": false,
"searchCount": true,
"pages": 1
},
"timestamp": 1602729521729
}

mybatis-plus多表联合分页查询的更多相关文章

  1. .net通用CMS快速开发框架——问题1:Dapper通用的多表联合分页查询怎么破?

    最近在弄一个东东,类似那种CMS的后台管理系统,方便作为其它项目的初始化框架用的. 现在遇到个问题,如标题所示:Dapper通用的多表联合分页查询怎么破? 难道只能通过拼接sql或者使用存储过程吗?我 ...

  2. Mybatis oracle多表联合查询分页数据重复的问题

    Mybatis oracle多表联合查询分页数据重复的问题 多表联合查询分页获取数据时出现一个诡异的现象:数据总条数正确,但有些记录多了,有些记录却又少了甚至没了.针对这个问题找了好久,最后发现是由于 ...

  3. mybatis Plus 多表联合查询

    //实体类package com.sk.skkill.entity; import com.baomidou.mybatisplus.annotation.TableField;import com. ...

  4. springboot结合mybatis使用pageHelper插件进行分页查询

    1.pom相关依赖引入 <dependencies> <dependency> <groupId>org.springframework.boot</grou ...

  5. MybatisPlus联合分页查询

    跟单表分页查询差不多 1.编写查询语句 public interface QuestionMapper extends BaseMapper<Question> { @Select(&qu ...

  6. Mybatis中多表联查,查询出来的字段出现重名,造成数据异常的解决方法!

    在做一对多出现的问题,引发的思考:当数据库表中,主表的主键id和明细表的中的字段名相同时怎么办?Mybatis进行自动映射赋值的时候会不会出现异常?                      注意:M ...

  7. Mybatis的ResultMap与limit分页查询

    ResultMap主要解决的是:属性名和字段不一致 如果在pojo中设置的是一个名字,在数据库上又是另一个名字,那么查询出来的结果或者其他操作的结果就为null. //在pojo中 private S ...

  8. mybatis实现多表联合查询

    本文转自:http://www.cnblogs.com/xdp-gacl/p/4264440.html#!comments 一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) ...

  9. SQL多表联合分页.....

    set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go /* 支持多表查询分页存储过程(事理改进)2012.3 --多表联查1 declare @Count int ...

  10. Spring Data JPA 多个实体类表联合视图查询

    Spring Data JPA 查询数据库时,如果两个表有关联,那么就设个外键,在查询的时候用Specification创建Join 查询便可.但是只支持左连接,不支持右连接,虽说左右连接反过来就能实 ...

随机推荐

  1. 0608-nn和autograd的区别

    0608-nn和autograd的区别 目录 一.nn 和 autograd 的区别 二.Function 和 Module 在实际中使用的情况 pytorch完整教程目录:https://www.c ...

  2. 神经网络之卷积篇:详解经典网络(Classic networks)

    详解经典网络 首先看看LeNet-5的网络结构,假设有一张32×32×1的图片,LeNet-5可以识别图中的手写数字,比如像这样手写数字7.LeNet-5是针对灰度图片训练的,所以图片的大小只有32× ...

  3. 驻扎初篇(markdown)

    markdown的初级使用语法 本片作为开始使用博客的第一篇笔记 只为了方便为日后的编辑博客做基础的语言记录 以下为markdown的语法 ##标题 # 标题一 ## 标题二 ### 标题三 #### ...

  4. vue3+tpyeScript + element plus 三级复选框,全选控制全部,左侧选中控制右侧全选

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  5. 云原生周刊:优化 Uber 的持续部署丨2024.10.14

    开源项目推荐 Cog Cog 是将机器学习模型打包到容器的工具.可通过配置将机器学习模型所需的环境和依赖,自动打包到容器里方便部署,让你不再为编写 Docker 文件和 CUDA 而痛苦,还能自动启动 ...

  6. 五分钟一百行代码,手写一个vue项目全局通用的toast提示组件

    前言: 我们已经分享过如何快速实现自己需要的全局弹框组件: 在开发 Vue 项目时,特别是H5页面的项目,还有一个组件是我们非常常用的,它相对弹框来说没有那么大,并且不需要手动关闭在需要更简洁的提示用 ...

  7. NlogN 求最长不下降子序列(LIS)

    最长不下降子序列是一道非常经典的题目,我们假设题目如下: 有一个数组 $ a $,现在要从中抽取一个严格上升的子序列(子序列就是你可以从原序列里删除一些数,保留一部分数得到的新数列)(严格上升也就是不 ...

  8. LDAP和SSO

    什么是LDAP(Lightweight Directory Access Protocol)?很多公司会使用各种开源平台(例如: gitlab. Jenkins. chat 等等),维护这些账号是一件 ...

  9. Linux运行时动态库搜索路径优先级

    Windows运行时动态库搜索路径优先级: 在Windows运行时,动态库(通常指DLL文件)的搜索路径遵循一定的优先级顺序,以确保程序能够正确地加载所需的动态库.以下是对Windows运行时动态库搜 ...

  10. 一个整合性、功能丰富的.NET网络通信框架

    前言 最近有不少同学问:.NET网络通信框架有什么好推荐的吗?今天大姚给大家分享一款基于Apache License开源的一个整合性.功能丰富的.NET(包括 C# .VB.Net.F#)网络通信框架 ...