报错信息如下所示:
nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘id’ not found.
Available array
**
解决办法:让item的值与#{}中的值保持一致。
**
mapper.xml中
原先为item=ids #{id}
修改代码处为item=id #{id}
<delete id="deleteMDatabaseByIds" parameterType="String">
delete from m_database where id in
<foreach collection="array" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
mapper.java中
/**
* 批量删除数据库管理
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteMDatabaseByIds(String[] ids);
serviceImp.java中
/**
* 删除数据库管理对象
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@Override
public int deleteMDatabaseByIds(String ids)
{
return mDatabaseMapper.deleteMDatabaseByIds(Convert.toStrArray(ids));
}
Controller.java中
/**
* 删除数据库管理
*/
@RequiresPermissions("datamodel:database:remove")
@Log(title = "数据库管理", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
try {
this.printMsg("delete ids="+ids);
return toAjax(mDatabaseService.deleteMDatabaseByIds(ids));
}
catch (Exception e)
{
return error(e.getMessage());
}
}
protected void print(Map params){
System.out.println("------------------------------------");
String key="";
Set keys=params.keySet();
Iterator iter=keys.iterator();
while(iter.hasNext())
{
key=iter.next().toString();
System.out.println(key+"="+params.get(key));
}
System.out.println("------------------------------------");
}
protected void printMsg(String msg){
System.out.println(msg);
}
—the—end—