从用户搜索条件动态创建WHERE子句

Dav*_*ton 6 java sql

我有一个我确定是一个相当普遍的问题,我不想重新发明轮子.我有一个搜索表单,用户可以在其中指定搜索条件和搜索类型(AND OR Ext ..).

表单传回id映射到列名和值的id.目前,我正在使用服务器端Java将字符串粘合到一个where子句中.它在某些情况下有效,但它很笨重,容易出错并且不能很好地扩展.

有什么建议?

谢谢,

大卫

sim*_*mon 0

您必须在客户端或服务器上构建搜索字符串。在客户端上构建它显然不是一个好的解决方案(安全方面),因此唯一的选择是在服务器上构建它。就我个人而言,我会使用或构建一个 Searcher 对象,它有效地处理构建搜索字符串的重复任务,并从那里创建一个 Statement。