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
相关推荐
Testcontainers:让 Java 集成测试接近真实依赖
ccai
0
0Java 审计日志:记录谁修改了什么,而不是复制整张表
ccai
0
0千问办公发布“企业上下文” 让Agent懂企业懂业务
AI付小助手
690
0
ccai
我还没有写个人简介......
39
帖子
0
提问
0
粉丝
最新发布
HMAC 请求签名:为开放接口增加防篡改校验
2026-09-24 16:37:00 发布Java 依赖安全:从漏洞扫描到可追溯制品
2026-09-24 16:36:46 发布热门推荐
8139 浏览


京公网安备:11010502051901号