注意:JPA @Query动态添加参数
0、前言
记录实际工作中的经验
1、在mysql中慎用'2022-09-06' != NULL
2、例子
其它参数包含了String和Integer类型
/**
* Order inner join Detail查询数据list
*/
@Query(value = "SELECT" +
" epos.order_id AS orderId," +
" epos.dining_day AS diningDay," +
" epos.dining_time AS diningTime," +
" epos.user_name AS userName," +
" epos.dept_name AS deptName," +
" epos.amount AS eposAmount," +
" detail.detail_id AS detailId," +
" detail.dish_name AS dishName," +
" detail.amount AS detailAmount" +
" FROM epos_order epos" +
" INNER JOIN epos_order_detail detail ON epos.order_id = detail.order_id" +
" WHERE epos.deleted = 0 AND detail.deleted = 0" +
" AND IF(ISNULL(?1) OR ?1 == '',1 = 1,epos.dining_day = ?1)" +
" AND IF(ISNULL(?2),1 = 1,epos.dining_time = ?2)" +
" ORDER BY epos.order_time DESC", nativeQuery = true)
List<CollectHaveDIshVoInt> queryOrderJoinDetailList(String diningDay, Integer diningTime);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~