0
我使用的是驼峰2.17.0,并且必须使用SQL IN子句执行更新查询。查询在Apache中使用In子句骆驼
update MY_TABLE set STATUS = :#status where ID in (:#in:ids) AND TYPE = :#type
我已经设置的所有参数骆驼头,参数IDS是一个List <朗>并有我的执行时,在清单四个要素。但我得到一个SQL例外
PreparedStatementCallback; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; Number of parameters mismatch.
Expected: 6, was: 4; nested exception is java.sql.SQLException: Number of parameters mismatch. Expected: 6, was: 4
我不知道哪里出了问题。当我硬编码除参数列表id以外的所有值,我可以在没有任何错误的情况下更新表。修改后的查询就像
update MY_TABLE set STATUS = 'SUCCESS' where ID in (:#in:corrIds) AND TYPE = 'type'
是否有任何任务,当我们使用IN子句我们不能给查询任何其他参数?请指教。
解决方法之一是添加一个bean或处理器,然后在使用传入的Exchange对象访问标头的方法内执行JDBC调用。我已经做了很多次了,我遇到了组件问题,它的作用就像一个魅力。 –
尝试升级到更新的骆驼版本 –