当前位置: 首页 > 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>

相关文章:

  • 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
  • 重庆荣昌区委区政府再设“答谢宴”,邀请800余名志愿者机关食堂用餐
  • 中方就乌克兰危机提出新倡议?外交部:中方立场没有变化
  • 马上评丨行人转身相撞案:走路该保持“安全距离”吗
  • 妻子藏匿一岁幼儿一年多不让丈夫见,法院发出人格权侵害禁令
  • 江淮、极氪、奇瑞,排着队造“劳斯莱斯”
  • 金融政策支持稳市场稳预期发布会即将召开,潘功胜、李云泽、吴清将出席