`

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    博客分类:
  • idea
 
阅读更多

 

   idea下Maven项目(Spring+Mybatis) 查询时报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found),解决方案:
 
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): spring.security.maven.dao.T_userMapper.selectByUserName
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:189)
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:43)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:58)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:51)
at com.sun.proxy.$Proxy22.selectByUserName(Unknown Source)
at spring.security.maven.serviceImp.UserServiceImp.selectByUserName(UserServiceImp.java:20)
at TestUser.getUser(TestUser.java:17)
 
 
原因:
问题解决了,不是代码问题是编译器问题,当然也也许是可以配置的
我用的是intellij idea ,创建的是maven项目。maven的结构就不多了其中java是放置源码的resource是资源文件的,那么按照我们的以前学习mybatis的方法是建议把Mapper.xml的文件放在daomain里面和实体在一起的,淡然这不是一定的路径写对了,爱放哪里原则上没问题的 。可是idea明确了源码和资源文件的放置位置(maven项目),也就是说源码就要会呗编译,当我把xml文件放在java目录下的daomian我再猜想是不是被编译了,才导致找不到方法,于是我把Mapper的映射文件放到资源文件下,改下加载Mpper.xml的路径,结果可以了。问题解决了。其实之前我有一次也是这样解决的,可是我当时不以为然,因为我们一贯是放在daomian下面的。
 
解决方法:
如果是Intellij idea的话,需要在pom.xml文件中加入, 会将src/main/java下的
xml文件随同java编译后的class文件一同copy到相应的class目录:
<build>
    <resources>
         <resource>
             <directory>src/main/java</directory>
             <includes>
                 <include>**/*.xml</include>
             </includes>
         </resource>
    </resources>
</build>
 


解决方式2:
IDEA中,如果你把xml文件放在java目录下,编译和打包时是不会打包进WEB-INF/classes下的,需要在pom文件中配置:
<build>
    <!--mybatis逆向工程生成代码-->
    <plugins>
      <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>${mybatis_general.version}</version>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
    </plugins>
    <!--打包时包含源代码包下的资源文件-->
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <filtering>false</filtering>
      </resource>
    </resources>  
</build>

 

 
 
 
分享到:
评论

相关推荐

    解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found

    出现以上的情况主要的原因是因为在主配置文件标签没正确的指向映射接口的配置文件。 解决方案:1.检查的name是否正确,如我的name属性填的就是com.it.dao 2、检查的class属性或resource属性,我resource这里写的是...

    Basic编译快手

    **Basic编译快手**是一款专为初学者设计的Basic语言编译器,它简化了编程过程,使得用户能够快速地理解和编写Basic程序。Basic语言,全称Beginner's All-purpose Symbolic Instruction Code,是一种高级编程语言,...

    ibatis-core-3.0.jar org.apache.ibatis.annotations.Param

    `org.apache.ibatis.annotations.Param`是MyBatis中的一个重要注解,用于处理方法参数映射。 `@Param`注解主要用于SQL查询中的动态参数绑定,尤其是在动态SQL语句中。在MyBatis的映射文件或者Mapper接口中,当我们...

    Mybatis报错: org.apache.ibatis.exceptions.PersistenceException解决办法

    在使用Mybatis框架时,你可能会遇到`org.apache.ibatis.exceptions.PersistenceException`这样的异常。这个异常通常表示在执行数据库查询操作时遇到了问题。本篇将详细分析这个问题并提供解决方法。 ### 问题概述 ...

    mybatis源码中文注释.zip

    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....

    Java面向对象测试试题(经典).doc

    Java面向对象测试试题(经典).doc

    前端-后端java的Util类的工具类

    │ │ │ frame-sourcefiles-org.apache.ibatis.binding.html │ │ │ frame-sourcefiles-org.apache.ibatis.builder.annotation.html │ │ │ frame-sourcefiles-org.apache.ibatis.builder.html │ │ │ frame-...

    mybaits refid patch

    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....

    iBatis框架搭建用到的所有jar包

    纵观目前主流的 ORM(对象关系映射),无论 Hibernate还是Apache OJB,都对数据库结构提供了较为完整的封装,提供了从POJO到数据库表的全套映射机制。程序员往往只需定义好了POJO 到数据库表的映射关系,即可通过 ...

    apache开源项目源码ibatis-3-core-src-3.0.0.227(ibatis框架java源程序)

    apache开源项目源码ibatis-3-core-src-3.0.0.227 ibatis框架java源程序 spring,struts,hibernate,ibatis,框架源码 各种ibatis框架应用源码,你会从中得到意想不到的效果! apache开源组织开发的开源项目源码,其...

    IBATISJDBC包

    1. **IBATIS核心库**: 包含了ibatis-2.x.jar,这是IBATIS框架的主要实现,提供了SQL映射文件解析、事务管理、结果集处理等功能。 2. **JDBC驱动**: 根据实际使用的数据库类型,如MySQL、Oracle、SQL Server等,需要...

    IBatisNet.Common.1.6.2、IBatis.DataAccess.1.9.2、IBatis.DataMapper.1.6.2

    标题和描述中提到的"IBatisNet.Common.1.6.2、IBatis.DataAccess.1.9.2、IBatis.DataMapper.1.6.2"是针对一个名为IBatisNet的框架的不同组件的版本号。IBatisNet是一个在.NET平台上实现的开源持久层框架,它源于Java...

    打log4j日志-ibatis的sql输出

    log4j.logger.org.apache.ibatis=DEBUG log4j.logger.jdbc.sqltiming=DEBUG ``` 上述配置将使得Ibatis的SQL语句及其执行时间被输出到控制台。`%d{ABSOLUTE}`是时间戳,`%5p`是日志级别,`%c{1}`是类名,`%L`是行号...

    spring lib j2ee

    log4j.addivity.org.apache=true log4j.logger.com.ibatis = ERROR log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = ERROR #log4j.logger.com.ibatis.common.jdbc.ScriptRunner = ERROR #log4j....

    ibatis-2.3.4.726.jar,ibatis-2.3.0.677.jar,ibatis-2.3.3.720.jar下载

    iBATIS,全称为“Infrastructure for Binding Applications To SQL Maps”,是一个优秀的开源持久层框架,它允许Java开发者将SQL语句与Java代码分离,提供了一种简单但强大的在Java应用中映射SQL和结果集的方式。...

    ibatis最新包下载

    要大于20个字符要大于20个字符要大于20个字符要大于20个字符要大于20个字符要大于20个字符要大于20个字符要大于20个字符要大于20个字符

    Spring高版本对ibatis的支持

    &lt;bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"&gt; &lt;value&gt;classpath:SqlMapConfig.xml &lt;bean id="dao" class="org.springframework.orm.ibatis....

    spring-framework-3.0.5.RELEASE-dependencies-5

    org.apache.ibatis org.apache.juli 4号包: org.apache.tiles org.apache.velocity org.apache.xerces org.apache.xml org.apache.xmlbeans org.apache.xmlcommons org.apache.derby org.apache.poi org.apache....

Global site tag (gtag.js) - Google Analytics