开发者社区> 问答> 正文

JAVA后台动态拼接查询语句

以前那个系统因为查询效率非常低下,所以要重做。
查询的字段,和查询条件都是要动态拼接的。因为之前的做法是把所有要显示的字段和查询的条件都写在一个视图里,查询的时候直接拼接where 条件就行了。基础视图查询了太多的字段(很多字段还是用了函数),关联了太多的表,倒是几乎没子查询。
现在他们想把基础视图简化,只查列表显示的常用字段,然后查询时去动态的拼表连接JOIN和WHERE条件,我想了半天也没想出来应该怎么做。主要就是,查询条件来自不同的表,以前可以直接拼field1 = ? And field2 in (?,?...),可是现在fields都在了不同的表,怎么办呢?谁能提供一个好思路,谢了!

展开
收起
蛮大人123 2016-02-26 11:24:52 4248 0
2 条回答
写回答
取消 提交回答
  • 采用String类的format()方法,将查询语句以模板的形式写好,动态传入参数。
    2019-07-17 18:48:04
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪

    可以用ibatis框架来做,将改变的值来作为参数进行传递。并且在ibatis里,可以根据条件来添加where字句中的约束

    2019-07-17 18:48:04
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载