为了账号安全,请及时绑定邮箱和手机立即绑定

删除信息报500错误

看控制台打印信息,没有parameter值。

log信息显示:

### Error updating database.  Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for Message.deleteOne

### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for Message.deleteOne

Message.xml 配置信息:

<delete id="deleteOne" parameterType="int">
   DELETE FROM message
   WHERE id = #{_parameter}
</delete>

MessageDao中可以正常获取id值:

sqlSession.delete("Message.deleteOne", id);
sqlSession.commit();
点击删除跳转页面也是正确的:

http://localhost:8080/deleteone.action?id=8

查询的都没有问题,就是删除的时候会报500错误,批量删除也一样。不明白为什么那个parameter值获取不到


正在回答

2 回答

你怎么解决的

0 回复 有任何疑惑可以回复我~
#1

kalick

sqlSession.delete("Message.deleteOne", id); 这句改为 sqlSession.delete("com.imooc.dao.IMessage.deleteOne", id); 就好了
2017-06-25 回复 有任何疑惑可以回复我~

问题已解决,我采用了接口式编程,要点:

1. 必须保证manpper.xml文件的id值要跟你的接口中的方法名一致,

2. 要将manpper.xml中的所有数据库操作统一都在接口中定义方法才行。

1 回复 有任何疑惑可以回复我~
#1

kalick

你好,按照你说的写好了,为什么还是出问题呢
2017-06-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
通过自动回复机器人学Mybatis---基础版
  • 参与学习       107416    人
  • 解答问题       785    个

微信公众号自动回复功能学习Mybatis,基础教程加案例实战方式学习

进入课程

删除信息报500错误

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信