myBatis sqlMap foreach 对象中的list传入,报错,再此向各位高手求帮助
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named “__frch_item_0” in “class com.asiacloud.core.model.PageModel”
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:368)
at $Proxy6.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:198)
at com.asiacloud.core.base.dao.impl.BaseDaoImpl.select(BaseDaoImpl.java:74)
at com.asiacloud.syse.unitaccount.dao.impl.TSyseMaintainAccountDaoImpl.queryListByUnitIdPage(TSyseMaintainAccountDaoImpl.java:107)
action中的代码
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named “__frch_item_0” in “class com.asiacloud.core.model.PageModel”
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:368)
at $Proxy6.selectList(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:198)
at com.asiacloud.core.base.dao.impl.BaseDaoImpl.select(BaseDaoImpl.java:74)
at com.asiacloud.syse.unitaccount.dao.impl.TSyseMaintainAccountDaoImpl.queryListByUnitIdPage(TSyseMaintainAccountDaoImpl.java:107)
action中的代码
... private PageModel page = new PageModel(); ... tSyseMaintainAccount.setIdList(idList); tSyseMaintainAccount.setId(loginId); page.setParams(tSyseMaintainAccount); page = iTSyseMaintainAccountService.queryListByUnitIdPage(page);
sqlMap文件:
<select id="queryListByUnitIdPage" parameterType="TSyseMaintainAccount" resultMap="TSyseMaintainAccountResultMap"> select a.*,b.UNIT_NAME linkUnitName from T_SYSE_MAINTAIN_ACCOUNT a left JOIN T_SYSE_OPER_UNIT b on a.UNIT_ID=b.ID where a.STATUS_FLAG in ("1","2") AND a.UNIT_ID in <foreach item="item" index="index" collection="params.idList" open="(" separator="," close=")"> #{item} </foreach> AND a.ID != #{params.id} </select>
TSyseMaintainAccount类:
public class TSyseMaintainAccount implements java.io.Serializable { // Fields private Long id; private String name; ... private List idList; public List getIdList() { return idList; } public void setIdList(List idList) { this.idList = idList; } }
PageModel类
public class PageModel { ... private Object params; public Object getParams() { return params; } public void setParams(Object params) { this.params = params; } ... }
解决方案