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. 基于Python后端构建多种不同的系统终端界面研究

    在我们一般开发系统的时候,往往会根据实际需要做出各种不同的系统终端界面,如基于BS的,CS.APP.小程序等等,一般都是基于一个统一接入的Web API后端,本篇系统探寻对基于Python后端构建多种 ...

  2. dotnet定义扩展方法

    // 扩展方法 // 1.创建静态类静态方法 2. 在静态方法中参数中使用 this 关键字指定需要扩展的类 // 密封类 不能直接继承,通过扩展方法,拿到父类的属性和方法进行扩展补充

  3. 70.http拦截能做些什么(问的是axios的封装)

    请求拦截器统一添加 token ,也可以手动的判断token是否过期  : 响应拦截器判断返回数据的逻辑处理,被动的判断token过期并处理 :

  4. day01-markdown学习

    markdown学习 标题 两个#号 三级标题 四级标题 字体 hello world!两个*加粗 hello world!一个*斜体 hello world!三个*斜体加粗 hello world! ...

  5. [Java/日志] 日志框架打印应用程序日志代码的执行情况

    0 引言 我常以为 INFO 日志级别的 应用程序日志代码,不会被执行(比如,实验1中的printTestLog函数).但今天线上的问题,证实了这个思路是错的. 1 验证实验 版本信息 jdk : 1 ...

  6. 新思路,基于Diffusion的初始化权重生成策略 | ECCV'24

    良好的权重初始化可以有效降低深度神经网络(DNN)模型的训练成本.如何初始化参数的选择是一个具有挑战性的任务,可能需要手动调整,这可能既耗时又容易出错.为了解决这些限制,论文迈出了建立权重生成器以合成 ...

  7. Power BI使用技巧

    一.筛选器相关 1.筛选器的可选择范围不正确 在Power BI中,维度表和事实表之间的数据建模非常重要,我们在进行关系的建立的时候,PBI Desktop会根据我们的数据情况自动选择两个表之间的基数 ...

  8. Diffuision Policy + RL -------个人博客_ZSY_20241101

    Diffusion Policy: Visuomotor Policy Learning via Action Diffusion Cheng Chi, Zhenjia Xu, Siyuan Feng ...

  9. Metal 开发教程(二)

    https://developer.apple.com/documentation/quartzcore/cametallayer?language=objc#3385893 CAMetalLayer ...

  10. Docker私有仓库操作----命令行

    查看所有镜像 http://10.206.29.162:5000/v2/_catalog {"repositories":["dashboard"," ...