我有一个功能,是多个单表可选查询(如下图:[1]页面DEMO),目前之前的同事是用笨的方法实现了,用了简单的判断和多个线程,但是想要优良可扩展的那种设计思路,例如我现在有个需求,要再添加一个查询条件,就要改太多的代码,求高手。
[1]页面DEMO:
目前笨方法的后台Java代码
// 主要代码,精简版,不用在意细节
public String search() {
String id = getPara("id");
if (StrKit.isNotEmpty(id)) {
String[] typeArr = getPara("type").split(",");
for (String t : typeArr ) {
if (t.trim().equals("111")) {
Thread th1 = new Thread(new Runnable() {
public void run() {
query111(id);
}
});
th1.start();
}
...
}
}
}
试试用 sql 的 union
关键字拼成一条 sql 执行。
sql 语句可以根据表名和参数动态拼出来