【发布时间】:2010-04-02 19:28:09
【问题描述】:
我一直想知道完成这项任务的最佳方法是什么。在大多数基于 Web 的应用程序中,您必须根据许多不同的标准提供搜索选项。根据在幕后选择的标准,您可以修改 SQL。一般来说,我倾向于这样做:-
有一个基本的 SQL 模板。
在基本模板中有类似这样的条件 WHERE [#PRE_COND1] AND [#PRE_COND2] .. 以此类推。因此,示例 SQL 可能类似于 SELECT NAME,AGE FROM PERSONS [,#TABLE2] [,#TABLE3] WHERE [#PRE_COND1] AND [#PRE_COND2] ORDER BY [#ORD_COND1] AND [#ORD_COND2] 等。
在确定用户输入的所有搜索条件后的运行期间,我将 [#PRE_COND1] 和 [#ORD_COND1] 替换为适当的 SQL,然后执行查询。
我个人不喜欢这种蛮力方法。但是,我也从未遇到过更好的方法。考虑到您使用的是原生 JDBC 还是 Spring JDBC,通常如何完成这些任务?
这几乎就像我需要一个类似于 Java 中的 C 宏的功能来执行此操作。
【问题讨论】:
标签: java oop coding-style