我一直想知道实现这项任务的最佳方法是什么.在大多数基于Web的应用程序中,您必须提供许多不同标准的搜索选项.根据场景背后选择的条件,您可以修改SQL.一般来说,这就是我倾向于这样做的方式: – 有一个基本的SQL模板...

我一直想知道实现这项任务的最佳方法是什么.在大多数基于Web的应用程序中,您必须提供许多不同标准的搜索选项.根据场景背后选择的条件,您可以修改SQL.一般来说,这就是我倾向于这样做的方式: –
>有一个基本的SQL模板.
>在基本模板中有类似WHERE [#PRE_COND1]和[#PRE_COND2]等条件等等.因此,示例SQL可能看起来像SELECT NAME,AGE FROM PERSONS [,#TABLE2] [,#TABLE3] WHERE [#PRE_COND1]和[#PRE_COND2] ORDER BY [#ORD_COND1] AND [#ORD_COND2]等.
>在确定用户输入的所有搜索条件后的运行时间内,我用适当的SQL替换[#PRE_COND1]和[#ORD_COND1],然后执行查询.
我个人不喜欢这种蛮力方法.但是,我也从未遇到过更好的方法.一般情况下,如果使用本机JDBC或Spring JDBC,您如何完成此类任务?
这几乎就像我需要Java中的C MACRO功能才能做到这一点.
解决方法:
对于java,我使用SqlBuilder(就像直接JDBC的Hibernate Criteria API一样).当然,我有偏见.
本文标题为:java – 为Sql构造动态搜索条件的最佳方法


- SpringBoot结合Redis实现接口幂等性的示例代码 2023-01-29
- Java设计模式初识之备忘录模式详解 2023-07-01
- Java中POST、GET、@RequestBody和@RequestParam区别详析 2023-06-17
- Spring MVC之DispatcherServlet_动力节点Java学院整理 2023-07-31
- 利用5分钟快速搭建一个springboot项目的全过程 2022-11-25
- springboot项目完整后端请求Controller层优雅处理 2023-02-27
- ProtoStuff不支持BigDecimal序列化及反序列化详解 2023-04-23
- MyBatis-Plus解决逻辑删除与唯一索引的问题 2023-04-07
- java – 在mongodb中按日期对值排序 2023-11-02
- Java实现自定义LinkedList类的示例代码 2023-04-12