最近使用Mybatis报了如下错误:


org.apache.ibatis.exceptions.PersistenceException:
### Error querying database.  Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.study.mybatis.mapper.UserMapper.selectById
### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.study.mybatis.mapper.UserMapper.selectByIdat org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:77)at com.study.mybatis.test.SqlSessionTest.testSqlSession(SqlSessionTest.java:21)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)at org.junit.runners.ParentRunner.run(ParentRunner.java:363)at org.junit.runner.JUnitCore.run(JUnitCore.java:137)at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.study.mybatis.mapper.UserMapper.selectByIdat org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:875)at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:708)at org.apache.ibatis.session.Configuration.getMappedStatement(Configuration.java:701)at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)... 25 more

查了资料发现可能有以下的一些原因:
1.Mybatis映射文件的命名空间与mapper接口不符
2.Mybatis映射文件的命名与mapper接口不同
3.mapper接口中的方法名对应映射文件中id属性不一致
4.Mybatis的配置文件没有添加映射文件

一通操作后发现以上都没有问题,最后查看target目录发现UserMapper.xml没有编译(映射文件和mapper接口放在了一个包下),查阅资料,发现在编译阶段src/main/java和src/test/java目录下的 *.java的编译结果会放到target/classes和targe/test-classes下,而其他文件会被忽略。
解决方法,在pom.xml中配置build的resources

<build><!-- 资源目录 --><resources><resource><!-- 设定主资源目录  --><directory>src/main/java</directory><includes><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources></build>

java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.stud相关推荐

  1. mybatis报错:java.lang.IllegalArgumentException: Mapped Statements collection does not contain

    在做mybatis案例的时候发现了一个问题,报错如下: org.apache.ibatis.exceptions.PersistenceException: ### Error querying da ...

  2. java.lang.IllegalArgumentException: Mapped Statements collection already contains value for ...

    java.lang.IllegalArgumentException: Mapped Statements collection already contains value for: 这个一般是参数 ...

  3. Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains valu...

    在使用mybatis的时候遇到这个问题 报错信息 Caused by: java.lang.IllegalArgumentException: Mapped Statements collection ...

  4. Cause java lang IllegalArgumentException Mapped Statements

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 1.错误 ...

  5. java.lang.IllegalArgumentException: Result Maps collection already contains value for ciis.zht.model

    Mybatis报错:java.lang.IllegalArgumentException: Result Maps collection already contains value for ciis ...

  6. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.cor

    使用mybatis逆向工程生成dao层和mapper层后,启动报错: Cause: java.lang.IllegalArgumentException: Result Maps collection ...

  7. ause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.loui

    cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.lou ...

  8. java.lang.IllegalArgumentException: Parameter Maps collection does not contain value for com.zrrd.po

    SQL映射文件相关的错-java.lang.IllegalArgumentException 报错 java.lang.IllegalArgumentException: Parameter Maps ...

  9. 报错java.lang.IllegalArgumentException: Result Maps collection does not contain value解决

    使用mybatis报错 java.lang.IllegalArgumentException: Result Maps collection does not contain value for co ...

最新文章

  1. HYSBZ - 1798 Seq 维护序列seq 线段树lazy标记
  2. Linux16-防火墙与firewalld
  3. windows环境下python怎么安装mlxtend-python连接QQ实现自动回复python 机器学习库
  4. iOS自定义NavigationBar
  5. MGraph图(代码、分析、汇编)
  6. 通过JavaScript获取查询字符串的值
  7. 浏览器如何解析HTML文档
  8. 360系统修复过程中卡慢问题的解决方案
  9. Resin配置https
  10. 微信支付开发(1)--普通商户申请、账户验证、签约、公众号授权流程详解
  11. 微信小程序:小程序开发者注册步骤
  12. 如何维持手机电池寿命_教你如何让自己的手机电池寿命多用两年
  13. oracle ORA-12543
  14. python爬取豆瓣电影top250_【Python3爬虫教程】Scrapy爬取豆瓣电影TOP250
  15. Polkadot波卡链众筹成本价与总量、创始人团队简介
  16. Arduino ESP8266读取土壤湿度传感器 ADC
  17. LM358(非轨道轨)高端电流采样 廉价充电指示方案
  18. 互联网呼唤版权社会化服务
  19. 【Android UI】贝塞尔曲线 ① ( 一阶贝塞尔曲线 | 二阶贝塞尔曲线 )
  20. 手把手教你搭建一个属于自己的Ghost博客

热门文章

  1. SYD8821 WDT模块使用说明【WDT中断的使用】【WDT复位类型】
  2. 利用javaScript+css实现图片跟随鼠标联动效果页面
  3. 推荐15个好用的百度网盘资源搜索引擎
  4. Java 类java.security.spec.PKCS8EncodedKeySpec 实例源码
  5. 浏览器左下角提示网页上有错误解决方法
  6. 将jar包发布到本地maven仓库
  7. 如何用根号的方法对数列进行有序排列
  8. 工控机+Ubuntu18.04 修改root用户密码
  9. 嵌入式计算机系统与普通台式机的区别,嵌入式工控机主板和普通电脑主板有什么区别...
  10. 微信小程序在哪里看自己的appId 和 Secret 如何查看