mybatis-plus多表聯合分頁查詢


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
}
復制代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM