关于mybatis “org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)” 错误的问题。
最近从eclipse转到intellij idea,确实比eclipse好用太多,但是也是各种不熟悉,导致了很多问题,本来搭好的maven+ssm框架在eclipse上能用,迁移到idea中是各种问题,一一解决之后就剩下这个问题。org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) : org.dao.UserDao.selectByPrimaryKey,意思是我的mapper和dao的映射和接口绑定有问题。
我的spring和mybatis整合配置如下:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="mapperLocations">
<list>
<value>classpath*:com/leadthing/pojo/mapping/*Mapper.xml</value>
</list>
</property>
</bean>
但我的mapper和dao中是一一对应的,所以我的问题不在这儿。
Junit测试一直是红色的一条,这个问题让我头疼,网上看了很多资料最后发现是intellij idea的问题,在eclipse中把mapper的xml文件放到src代码目录下是可以一起打包进classes的,而在新版intellij idea中是不会一起打包,就会导致找不到xml报错。
首先确保xml中的namespace配置是你的接口全类名,而不是包名!
确认dao接口中的方法,和xml中一一对应,返回类型,参数都正确。
解决方法
第一种,由于idea默认是不打包src中的xml文件,所以在eclipse中你可以把xml放到src中没有问题,但是在idea中,你把mapper的xml文件放到resources资源中就可以正常访问!
第二种 在maven配置maven对资源文件的访问,具体做法:在pom中,build节点中加入
<resources>
<resource>
<directory>src/man/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
总结
以上两种方法个人在intellij idea中亲测成功。
Junit测试通过。看着那一条变成绿色,log4j日志打印成功,整个人都轻松了。
原文
http://blog.csdn.net/oppo5630/article/details/51351578
- 大小: 65.5 KB
分享到:
相关推荐
出现以上的情况主要的原因是因为在主配置文件标签没正确的指向映射接口的配置文件。 解决方案:1.检查的name是否正确,如我的name属性填的就是com.it.dao 2、检查的class属性或resource属性,我resource这里写的是...
Ibatis和Mybatis都是广泛使用的Java ORM(对象关系映射)框架,它们帮助开发者将数据库操作与业务逻辑解耦。本篇文章将探讨从ibatis2.x升级到mybatis3.x的过程,揭示其中的技术变迁和核心变化。 Ibatis2.x是一款轻...
`org.apache.ibatis.annotations.Param`是MyBatis中的一个重要注解,用于处理方法参数映射。 `@Param`注解主要用于SQL查询中的动态参数绑定,尤其是在动态SQL语句中。在MyBatis的映射文件或者Mapper接口中,当我们...
在使用Mybatis框架时,你可能会遇到`org.apache.ibatis.exceptions.PersistenceException`这样的异常。这个异常通常表示在执行数据库查询操作时遇到了问题。本篇将详细分析这个问题并提供解决方法。 ### 问题概述 ...
org.apache.ibatis.logging org.apache.ibatis.logging.commons org.apache.ibatis.logging.jdbc org.apache.ibatis.logging.jdk14 org.apache.ibatis.logging.log4j org.apache.ibatis.logging.log4j2 org.apache....
个人博客系统(SpringBoot+Mybatis).zip个人博客系统(SpringBoot+Mybatis).zip个人博客系统(SpringBoot+Mybatis).zip个人博客系统(SpringBoot+Mybatis).zip个人博客系统(SpringBoot+Mybatis).zip个人博客...
`org.mybatis.generator.eclipse.site-1.4.0.201911242214.zip` 文件是 MBG 的 Eclipse 插件版本,版本号为 1.4.0,发布日期为 2019 年 11 月 24 日。这个插件使得在 Eclipse IDE 中集成 MyBatis 代码生成器变得更加...
import static org.mybatis.spring.SqlSessionUtils.isSqlSessionTransactional; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.sql.Connection; import java.util....
中秋博饼游戏(Swing+Spring+MyBatis).zip中秋博饼游戏(Swing+Spring+MyBatis).zip 中秋博饼游戏(Swing+Spring+MyBatis).zip中秋博饼游戏(Swing+Spring+MyBatis).zip 中秋博饼游戏(Swing+Spring+MyBatis).zip中秋博饼...
在使用MyBatisPlus进行开发时,可能会遇到一个常见的错误——`Invalid bound statement (not found)`。这个错误通常表示MyBatisPlus无法找到你尝试调用的Mapper接口的方法。本文将详细解析这个问题的原因以及提供...
简易的中秋博饼游戏(Swing+Spring+MyBatis).zip 简易的中秋博饼游戏(Swing+Spring+MyBatis).zip 简易的中秋博饼游戏(Swing+Spring+MyBatis).zip 简易的中秋博饼游戏(Swing+Spring+MyBatis).zip 简易的中秋博饼游戏...
│ │ │ frame-sourcefiles-org.apache.ibatis.binding.html │ │ │ frame-sourcefiles-org.apache.ibatis.builder.annotation.html │ │ │ frame-sourcefiles-org.apache.ibatis.builder.html │ │ │ frame-...
- org.apache.ibatis.mapping 包:关于映射器和结果映射的类。 - org.apache.ibatis.type 包:包含各种类型处理器。 - org.apache.ibatis.reflection 包:反射相关的辅助类。 - org.apache.ibatis.io 包:I/O操作的...
mybatis 3.x源码深度解析与最佳实践.html
org.mybatis.generator.core_1.3.1.201101032122.jar
<groupId>org.mybatis.spring.boot <artifactId>mybatis-spring-boot-starter <version>2.2.4 ``` 接下来,创建一个数据访问对象(DAO)接口,例如`UserMapper`,并使用`@Mapper`注解标记: ```java import ...
这个压缩包文件“mybatisx.zip”包含了多个版本的MybatisX插件,包括MybatisX-1.4.16.zip、MybatisX-1.4.8.zip、MybatisX-1.4.6.zip以及MybatisX-1.1.2.zip。这些版本的差异可能体现在功能增强、性能优化或者修复...
5. **org.apache.ibatis.executor**:执行SQL语句的组件,包括SimpleExecutor、ReuseExecutor和BatchExecutor,分别对应简单执行、重用执行和批处理执行策略。 6. **org.apache.ibatis.reflection**:反射相关的工具...
Caused By: org.apache.ibatis.builder.BuilderException: Could not find SQL statement to include with refid 'SAD02.SAD02_COL' at org.apache.ibatis.builder.xml.XMLStatementBuilder$IncludeNodeHandler....