0

我必须触发一组查询(比如 N,这是在运行时从 DB 决定的)。

每个查询 Qi 都会有一些变量(比如 V1、V2...Vj)。输入将以 Key,Value 对的形式提供。

这些查询的结果将是我必须返回的键值对。

前任。

select * from t where a="ME"; 

PS:这只是一个例子。我没有触发数据库查询。

我计划将查询作为字符串参数传递,其中包含一些变量的占位符,并传递用于替换的 KEY-VALUE 对的映射(KEY 名称将用于标识占位符)。

输入上述前的查询。

String query = select * from VRIABLE_FROM_TABLE where a=VARIABLE_WHERE_1; 

查询字符串也将从数据库中获取。

输入映射将是:

FROM_TABLE->t
WHERE_1->"ME"

我错过了什么吗?任何面向对象的问题?

设计这个的最佳方法是什么?

4

1 回答 1

0

您可以尝试实现命令模式:为您的命令定义一个通用接口,并让命令执行器负责调用命令。

这样做时,您可以拥有任意数量的命令,因为命令执行器可以接收实现命令接口的类的集合;此外,执行器与命令的内容分离,可以使用所需数量的参数单独实例化。

于 2012-04-16T13:00:07.163 回答