当前位置: 首页 > news >正文

实体多ID关联分页查询实例

1.Controller 层接口

@RestController
@RequestMapping("/api/user")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/list")
    public ApiResponse<Page<UserVO>> listUserPage(
        @RequestParam(defaultValue = "1") Integer pageNum,
        @RequestParam(defaultValue = "10") Integer pageSize,
        UserQueryDTO queryDTO
    ) {
        Page<UserVO> page = new Page<>(pageNum, pageSize);
        return ApiResponse.success(userService.listUserPage(page, queryDTO));
    }
}
2.Service 实现
@Override
public Page<UserVO> listUserPage(Page<UserVO> page, UserQueryDTO queryDTO) {
    return baseMapper.listUserPage(page, queryDTO);
}
3.Mapper 接口
public interface UserMapper extends BaseMapper<User> {
    Page<UserVO> listUserPage(Page<UserVO> page, @Param("query") UserQueryDTO queryDTO);
}

4.XML 映射文件

<!-- UserMapper.xml -->
<select id="listUserPage" resultType="com.example.vo.UserVO">
    SELECT 
        u.id, 
        u.username,
        ut.name AS userTypeName,
        d.name AS deptName,
        p.name AS positionName
    FROM user u
    LEFT JOIN user_type ut ON u.user_type_id = ut.id
    LEFT JOIN dept d ON u.dept_id = d.id
    LEFT JOIN position p ON u.position_id = p.id
    <where>
        <if test="query.username != null and query.username != ''">
            u.username LIKE CONCAT('%', #{query.username}, '%')
        </if>
    </where>
</select>

相关文章:

  • 装修平台合作网站优化排名怎么做
  • 做多站发布信息的网站上海短视频培训机构
  • wordpress 漏洞检测张家界网站seo
  • 北京延庆城乡建设部网站首页网络营销首先要进行
  • 福州做网站互联网公司seo搜索引擎优化薪资水平
  • 购物网站线下推广方案模板建站教程
  • Compose笔记(十一)--DataStore(二)
  • Day09 -实例:拿到加密密文进行解密
  • 【拒绝算法PUA】LeetCode 2270. 分割数组的方案数
  • Dijkstra解决单源最短路径
  • 2.1 transformer模型原理及代码(python)
  • 深度学习常用操作笔记
  • 多重背包讲解
  • 使用TensorFlow时需掌握的Pandas核心知识点
  • JDK15开始偏向锁不再默认开启
  • Qt开发——问界M9空调
  • 强化学习的一些概念
  • 运维面试题(三)
  • Java虚拟机面试题:内存管理(中)
  • 【java】集合练习2
  • Chapter 4-11. Troubleshooting Congestion in Fibre Channel Fabrics
  • Nest系列:在 NestJS 中使用 Joi 进行环境变量验证与配置管理-03
  • Navicat如何查看密码
  • Chrome 浏览器的很多扩展不能用了
  • 数字签名与非对称加密的区别
  • LLM论文笔记 24: A Theory for Length Generalization in Learning to Reason