java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!

问题描述

java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!

红色部分报错

for (int i = 0; i < listParam.size(); i++) {
  query.setParameter(i, listParam.get(i));
}

 

原因

需要的查询参数数量和实际赋值的数量不一致,例如我在sql语句中只有3个“?”,在for循环中却要赋值4次

实际案例

sql.append(" AND DEV.S_CAPTION LIKE '%?%' ");  

将SQL语句中'中的?没有解析成占位符,解析成字符串了

 

 

个人随笔,如有错误,敬请指正

 

posted @ 2018-09-06 13:56  萧韶九成  阅读(314)  评论(0编辑  收藏  举报