后端改模糊查询
增加vo的文件夹,然后在service中更改类为VO,实际代码如下
@ApiOperation(value="合同信息管理-分页列表查询", notes="合同信息管理-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ContractMgrVO>> queryPageList(ContractMgrVO contractMgr,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ContractMgrVO> queryWrapper = QueryGenerator.initQueryWrapper(contractMgr, req.getParameterMap());
Page<ContractMgrVO> page = new Page<ContractMgrVO>(pageNo, pageSize);
IPage<ContractMgrVO> pageList = contractMgrService.pageWithEnterpriseAndProjectWithUser(page, queryWrapper);
return Result.OK(pageList);
}
pageWithEnterpriseAndProjectWithUser这里会报错,然后再这里点击进入接口中
接口自动生成,然后再实现方法,implement中使用以下方法
public IPage<ContractMgrVO> pageWithEnterpriseAndProjectWithUser(Page<ContractMgrVO> page, QueryWrapper<ContractMgrVO> queryWrapper) {
return this.getBaseMapper().pageWithEnterpriseAndProjectWithUser(page,queryWrapper);
注意这个地方的写法,要带亚欧this.getBaseMapper()
return this.getBaseMapper().pageWithEnterpriseAndProjectWithUser(page,queryWrapper);
然后再mapper中写下以下的方法,例子为
@Select("SELECT * FROM ( " +
" SELECT " +
" cim.*, " +
" bp.project_name, " +
" ers1.enterprise_name AS party_a_name, " +
" ers2.enterprise_name AS party_b_name, " +
" su.realname AS contract_leader_name " +
"FROM " +
" contract_lnformation_management cim " +
" LEFT JOIN base_project bp ON bp.id = cim.project_id " +
" LEFT JOIN enterprise_roster ers1 ON ers1.id = cim.party_a " +
" LEFT JOIN enterprise_roster ers2 ON ers2.id = cim.party_b " +
" LEFT JOIN sys_user su ON su.id = cim.contract_leader " +
") t ${ew.customSqlSegment}")
IPage<ContractMgrVO> pageWithEnterpriseAndProjectWithUser(Page<ContractMgrVO> page, @Param("ew") QueryWrapper<ContractMgrVO> queryWrapper);
注意前面的空格以及下面的ew,
ew昨天问了下,是关于多个模糊查询的并行查询方式,就是说再多个模糊查询下使用的方式
VO的查询中要记得加注解
@Data是可以代替set和get方法的注解作用
package org.jeecg.modules.demo.contractInner.vo;
import lombok.Data;
import org.jeecg.modules.demo.contractInner.entity.ContractInner;
@Data
public class ContractInnerVO extends ContractInner {
private String partyAName;
private String partyBName;
private String respName;
private String depName;
private String partyName;
}