数组越界,先前以为是传过去的list参数为null或者list.size==0,于是就在执行ibatis语句前添加了判断 。代码如下
if (ids != null&&0 < ids.size()) { List<XiuCentAttr> xiuCentAttrList = sqlMapClient .queryForList( "XIU_CENT_ATTR.ibatorgenerated_selectXiuCentAttrListByItemIdList", ids); for (XiuCentAttr xiuCentAttr : xiuCentAttrList) {
ibatis代码如下:
<select id="ibatorgenerated_selectXiuCentAttrListByItemIdList" resultMap="ibatorgenerated_BaseResultMap" parameterClass="java.util.List"> <!-- WARNING - This element is automatically generated by Apache iBATIS ibator, do not modify. This element was generated on Thu Mar 15 15:18:21 CST 2012. --> select <include refid="ibatorgenerated_column_name" /> from XIU_CENT_ATTR
list from JavaBean. Cause java.lang.StringIndexOutOfBoundsException: String index out of range: -1
博客内容提及在JavaBean转换为List过程中遇到`StringIndexOutOfBoundsException: String index out of range: -1`异常。解决方案是移除特定的`property="ids"`设置。此问题与使用Map作为参数的方式有关,通过设置Map的key对应于JavaBean的属性名可以避免此类异常。
摘要由CSDN通过智能技术生成