java – 为Sql构造动态搜索条件的最佳方法

我一直想知道实现这项任务的最佳方法是什么.在大多数基于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构造动态搜索条件的最佳方法

基础教程推荐