用于搜索方案的java的SQL解析器的用法

时间:2012-01-18 09:49:47

标签: java search sql-parser

任何人都可以建议一些好的实现示例或使用场景,其中SQL解析器可以用于java。

我有一个应用程序,我们需要根据某些参数,排序标准等过滤要在UI上显示的数据。 我对此有一些疑问:

1)这可以成为理想的解决方案吗?

2)UI如何在为Java层提供查询方面发挥作用?

2 个答案:

答案 0 :(得分:1)

你想在你的java应用程序中动态构造sql查询,然后使用这个sql获取数据吗?假设您有一个像这样的SQL:

select salary from emp where dept='sales'

用户从用户界面中选择其他一些过滤器后,例如年龄> 40,然后sql将是这样的:

select salary from emp where dept='sales' and age > 40

当然,您可能希望添加更复杂的过滤器或添加sort子句。

为了实现这一点,完整的SQL Parser是有用的,这是一个演示如何基于Java SQL Parser的Deconstruct, Modify, Rebuild a SQL statement

答案 1 :(得分:0)

我不知道SQL解析器应该是什么。应用程序不必解析SQL。 Thay必须执行SQL查询,因此可能会动态生成SQL查询。但它是解析SQL的数据库,而不是应用程序。

UI通常不会向服务层提供查询。 UI不必知道数据如何持久化以及要执行哪些查询。这不是它的责任。 UI应该只将Filter或Criteria对象传递给服务层,服务层将过滤器或条件转换为SQL查询,执行查询,将结果转换为Java对象,并将这些对象返回到显示这些对象的UI。 / p>