JAVA后台动态拼接查询语句 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

JAVA后台动态拼接查询语句

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

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

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

    2019-07-17 18:48:04
    赞同 展开评论 打赏
问答分类:
问答标签:
相关产品:
问答排行榜
最热
最新
相关电子书
更多
JAVA 应用排查全景图
立即下载
Java工程师必读手册
立即下载
Java应用提速(速度与激情)
立即下载