传入一个SQL片段,如 WEAVE_TYPE='on' and STATUS='quit' 。
然后拼接到where条件中,进行查询,报错:java.sql.SQLException: ORA-00936: missing expression
xml写法如下:
SELECT * from BASE where 1=1 and ${condition}
其中condition是传入的SQL片段。
请问,有什么办法解决?
传入一个SQL片段,如 WEAVE_TYPE='on' and STATUS='quit' 。
然后拼接到where条件中,进行查询,报错:java.sql.SQLException: ORA-00936: missing expression
xml写法如下:
SELECT * from BASE where 1=1 and ${condition}
其中condition是传入的SQL片段。
请问,有什么办法解决?
如果你使用了mybatis ,使用这个sql拼接就是对它的侮辱哈。它本来就提供了《if》 标签可以进行条件判断
,建议你还是将参数封装在对象中,然后在配置文件 中使用mybatis 提供的机制进行拼接。使用#{属性值}。进行预处理。
而且如果你是使用 前台获取到的参数进行拼接的话,还会产生sql注入的危险