Mapped Statements collection does not contain value for xxx

这是我第二次遇到的这个问题了,总结下。

第一次的问题是

mybatis的sqlSessionFactory的mapperLocations,配置的是这个路径下的所有映射文件,但是我没写的没有在该路径下,

所有mybatis没有加载我得映射文件,所有就找不到映射文件对应的id。

 
 

这次又是另外一个问题

mbatis加载了你的映射文件,但是呢我的id多了个空格,看了好多遍都没发现多了个空格,可能是背景黑色的缘故,强行解释下

哈哈,半个小时没发现问题所在

先看错误信息

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database.  Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for ProjectStaffDomain_logicDeleteByProjectId
### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for ProjectStaffDomain_logicDeleteByProjectId
	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371)
	at com.sun.proxy.$Proxy28.update(Unknown Source)
	at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:254)
	at com.hzhy.framework.core.dao.MybatisGenericDao.update(MybatisGenericDao.java:199)

意思是:没有sql文件中没有定义id为“xxx",一般有以下几种情况

 

1.mybatis的映射文件的命令空间与接口的全限定名不一致;

2有可能mybatis的映射文件名字与接口的类名字不一致;

3.还有一种情况就是接口声明的方法在映射文件里面没有。

 

我的sql

<!-- 逻辑删除通过 project_id-->

   <update id=" ProjectStaffDomain_logicDeleteByProjectId" parameterType="com.hzhy.manager.project.domain.ProjectStaffDomain">
   update project_staff set sts='N',modify_time = now(),modify_user_id = #{modify_user_id}  where project_id = #{project_id}
  </update>

  

但我一直没发现我的id前面多了个空格,各种百度,结果都没发现这个问题,呜呜呜~ ~ ~ ~

总结:编程不需要眼力,哈哈

转载于:https://www.cnblogs.com/wanlipenghtml/p/11194782.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值