mybaitsplus多表联接分页

本文介绍了如何在控制层和服务层使用 MyBatisPlus 进行多表联接并实现分页查询。通过示例展示了在Mapper中编写SQL查询,结合条件参数动态构建查询条件,实现灵活的查询过滤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 控制层
@RequestMapping("/list")
    @RequiresPermissions("base:zhxtztgl:list")
    public R list(@RequestParam Map<String, Object> params){
        params.put("deptid", getDeptId());
        PageUtils page = zhxtZtglService.queryPage2(params);

        return R.ok().put("page", page);
    }


服务层
    @Override
    public PageUtils queryPage2(Map<String, Object> params) {
        Page<ZhxtZtglEntity> page = new Page<>(Integer.parseInt((String)params.get("page")), Integer.parseInt((String)params.get("limit")));
        ZhxtZtglEntity zhxtZtglEntity=new ZhxtZtglEntity();
        zhxtZtglEntity.setDeptId((Long) params.get("deptid"));
        if(params.containsKey("queryDeptId")&&!"".equals(params.get("queryDeptId"))){
            zhxtZtglEntity.setQueryDeptId(Long.parseLong(String.valueOf(params.get("queryDeptId"))));
        }
        List<ZhxtZtglEntity> list=zhxtZtglDao.getZtglPageList(page, zhxtZtglEntity);
        return new PageUtils(list, page.getTotal(), page.getSize(), page.getCurrent());
    }

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.vision.czzh.modules.base.dao.ZhxtZtglDao">

    <!-- 可根据自己的需求,是否要使用 -->
    <resultMap type="com.vision.czzh.modules.base.entity.ZhxtZtglEntity" id="zhxtZtglMap">
        <result property="id" column="id"/>
        <result property="ztbm" column="ZTBM"/>
        <result property="ztmc" column="ZTMC"/>
    </resultMap>

    <select id="getZtglPageList" parameterType="com.vision.czzh.modules.base.entity.ZhxtZtglEntity" resultType="com.vision.czzh.modules.base.entity.ZhxtZtglEntity">
    select a.ID, a.ztbm,a.ztmc,a.dept_id deptId,b.name from zhxt_ztgl a,SYS_DEPT b where a.DEPT_ID=b.DEPT_ID and a.dept_id in (select dept_id from sys_dept where dept_id =#{zhxtZtglEntity.deptId} or parent_id=#{zhxtZtglEntity.deptId})
    <if test="zhxtZtglEntity.queryDeptId!=null">
         and  a.dept_id =#{zhxtZtglEntity.queryDeptId}
         </if>
     order by a.dept_id,a.ztbm
    </select>
</mapper>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值