【发布时间】:2015-08-05 02:31:01
【问题描述】:
现在,我想批量更新我的数据,但是当我运行控制台时给出如下:
--- ibatis-config/emptyForIbatisParse_sqlmap.xml中出现错误。
--- 准备执行映射语句时发生错误。
--- 检查 VehQuaCer.updateAmtBal.
--- 原因:java.sql.SQLException:参数对象类型无效。应为“java.util.List”但找到 'app.creditapp.lam.entity.VehQuaCer'.;嵌套异常是 com.ibatis.common.jdbc.exception.NestedSQLException:
--- ibatis-config/emptyForIbatisParse_sqlmap.xml中出现错误。
--- 准备执行映射语句时发生错误。
--- 检查 VehQuaCer.updateAmtBal.
--- 原因:java.sql.SQLException:参数对象类型无效。应为“java.util.List”但找到 'app.creditapp.lam.entity.VehQuaCer'。
我的 DaoImpl 方法如下:
public void updateRelease(final List<VehQuaCer> list) throws DAOException {
try{
if(list!=null){
this.getSqlMapClientTemplate().execute(new SqlMapClientCallback(){
public Object doInSqlMapClient(SqlMapExecutor executor)throws SQLException{
executor.startBatch();
for(int i=0,j=list.size();i<j;i++){
executor.update("VehQuaCer.updateAmtBal",(VehQuaCer)list.get(i));
}
executor.executeBatch();
return null;
}
});
}
}catch(Exception e){
log.error(e);
throw new DAOException(e.getMessage());
}
}
我的ibatis如下:
<update id="VehQuaCer.updateAmtBal" parameterClass="java.util.List">
begin
<iterate conjunction="">
UPDATE VEH_QUA_CER SET REPAY_BAL=#[].repayBal#,SEC_BAL=#[].secBal#,ADV_BAL=#[].advBal#,RELEASE_APP_NO=#[].releaseApp# WHERE ID=#[].id#
</iterate>
end;
</update>
【问题讨论】:
-
我的 DaoImp 方法如下:' public void updateRelease(final List
list) throws DAOException { try{ if(list!=null){ this.getSqlMapClientTemplate().execute(new SqlMapClientCallback (){ public Object doInSqlMapClient(SqlMapExecutor executor)throw SQLException{ executor.startBatch(); for(int i=0,j=list.size();i -
编辑您的帖子并将您的代码放在那里。如果您将其放在评论中,则无法阅读。