积分中心
MyBatis 动态查询:让筛选条件可组合且可审计
头像 ccai 2026-09-24 16:35:39    发布
0 浏览 0 点赞 0 收藏

管理后台通常有多个筛选条件:状态、负责人、时间范围、关键词和所属部门。把 SQL 拼接在 Controller 中会越来越难维护。

可以使用查询对象:

public class TaskQuery {
    private String keyword;
    private String status;
    private Long ownerId;
    private LocalDate startDate;
    private LocalDate endDate;
}

Mapper 层根据非空条件构造查询,并对排序字段使用白名单映射,不能直接把用户输入拼进 ORDER BY。

文章可以重点写:

  • 空条件查询;
  • 时间范围边界;
  • 多租户条件;
  • 排序字段校验;
  • SQL 执行计划;
  • 大表查询超时。

测试不同条件组合,记录 SQL、耗时和返回数量。


©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
IDE
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除

京ICP备:2022009079号-2

京公网安备:11010502051901号

ICP证:京B2-20230255