1

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

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

1)这可以是一个理想的解决方案吗?

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

4

2 回答 2

1

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

select salary from emp where dept='sales'

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

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

当然,您可能还想添加更复杂的过滤器或添加排序子句。

为了实现这一点,完整的SQL 解析器很有帮助,这里有一个演示,说明如何基于 Java SQL 解析器解构、修改、重建 SQL 语句。

于 2012-01-19T02:22:15.670 回答
0

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

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

于 2012-01-18T10:13:31.607 回答