mybatis plus+vue的分页多表条件查询

mybatis plus+vue的分页多表条件查询

mapper

public interface OnDevMapper extends BaseMapper<OnDev> {
 @Select("select od.*,oc.name_c as enterLoginTypeName,om.name_c as moneyTypeName," +
            "oe.name_c as enterClassName,oq.name_c as enterQualiCodeName" +
            " from on_dev od , on_code_login_type oc,on_code_money_type om," +
            "on_code_enter_class oe,on_code_qulia_level oq ${ew.customSqlSegment}")
    IPage<OnDevVo> getPage(IPage<OnDevVo> page, @Param(Constants.WRAPPER) Wrapper queryWrapper);
}

sevice

@Service(version = "1.0.0", timeout = 10000, interfaceClass = OnDevService.class)
public class OnDevServiceImpl extends ServiceImpl<OnDevMapper, OnDev> implements OnDevService {
    @Resource
    private OnDevMapper onDevMapper;
  @Override
    public IPage<OnDevVo> getPage(Long currentPage, Long pageSize, OnDev onDev) {
        IPage<OnDevVo> page = new Page<>(currentPage, pageSize);
        QueryWrapper<OnDev> queryWrapper = new QueryWrapper<>();
        if (!StrUtil.isEmpty(onDev.getEnterName())) {
            queryWrapper.eq("enter_name", onDev.getEnterName());
        }
        queryWrapper.apply("od.enter_login_type=oc.code and od.money_type=om.code and od.enter_class=oe.code and od.enter_quali_code=oq.code");
        IPage<OnDevVo> all = onDevMapper.getPage(page, queryWrapper);
        return all;
    }
 }

controller

@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
@RequestMapping("/ondev")
public class OnDevController {

    @Reference(version = "1.0.0", check = true)
    private OnDevService onDevService;
     @Log("开发商分页列表(多表联查)")
    @GetMapping("/getPage")
    public ResponseResult getPage( OnDev onDev,
                                   @RequestParam  Long currentPage,
                                   @RequestParam  Long pageSize) {
        IPage<OnDevVo> page = onDevService.getPage(currentPage, pageSize, onDev);
        return ResponseResult.success(page);
    }
}

jsp

export function getPage(data) {
  return request({
    url: 'ondev/getPage',
    method: 'get',
    params:data
  })
}

vue

 listQuery: {
        currentPage: 1,
        pageSize: 10,
         enterName:""
         //......ondev对象字段
      },

mysql语句

 select od.*,oc.name_c as enterLoginTypeName,om.name_c as moneyTypeName,oe.name_c as enterClassName,oq.name_c as enterQualiCodeName
 FROM on_dev od , on_code_login_type oc,on_code_money_type om,on_code_enter_class oe,on_code_qulia_level oq
 WHERE (od.enter_login_type=oc.code and od.money_type=om.code and od.enter_class=oe.code and od.enter_quali_code=oq.code)
 LIMIT 0,50;

版权声明:本文为Eding_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。