今天,在测试我自己的项目时,出现了这样的错误:
Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.zbygroup.booklib.model.entity.delete_db.delete_user at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23) at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:147) at org.apache.ibatis.session.defaults.DefaultSqlSession.delete(DefaultSqlSession.java:158) at com.zbygroup.booklib.model.dao.ImpleDao.deleteOne(ImpleDao.java:66) at com.zbygroup.booklib.fore_end.model.daoImple.UserDaoImple.deleteUser(UserDaoImple.java:73) at com.zbygroup.booklib.fore_end.model.service.UserLogOffService.deleteUserInfo(UserLogOffService.java:35) at com.zbygroup.booklib.fore_end.web.controllers.UserLogOffServlet.checkOrderForm(UserLogOffServlet.java:39)
… 20 more
它说配置文件中没有数据传入,我反复检查了配置文件的配置项:
<delete id="delete_user" parameterType="String">
delete from user where u_name=#{uname};
</delete>
这里的参数并没有写错,我传入的参数也是对的,如:
public int deleteUser(String uname){
return this.deleteOne(delete_user, uname);
}
这里也没有问题,在反复检查的过程中,蓦然发现,映射文件写错了:
public static final String
FORE=" com/zbygroup/booklib/model/entity/delete_db/delete_user";
这里有个空格,导致映射文件出现了错误。