zoukankan      html  css  js  c++  java
  • 配置文件出错 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

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

    <!-- mybatis 配置--> <!--spring和mybatis完美结合,不需要mybatis配置映射文件--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!--mapperLocations:它表示我们的Mapper文件存放的位置, 当我们的Mapper文件跟对应的Mapper接口处于同一位置的时候可以不用指定该属性的值。 mapper文件就是xml文件--> <!--自动扫描mapper.xml文件--> <property name="mapperLocations"> <array> <value>classpath:mapper/country/*.xml</value> <value>classpath:mapper/order/*.xml</value> <value>classpath:mapper/product/*.xml</value> <value>classpath:mapper/user/*.xml</value> <value>classpath:mapper/BrandDao.xml</value> </array> </property> <!--这个可以实现上面一样的功能--> <!-- <property name="mapperLocations" value="classpath*:mapper/**/*.xml"/>--> <!--这个query 一定研究一下 用处好大啊!!--> <property name="typeAliasesPackage" value="cn.biye.core.bean,cn.biye.core.query"/> </bean> <!-- 扫包 --> <!-- DAO接口所在包名,Spring会自动查找其下的类 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!--下面这个value可以有两种写法:1,精确到各个包下面,多个包用逗号隔开。 2,不精确到每个包下面,就只写到各个包上面的包中,例如dao包下面还有包,则写到dao就行了--> <property name="basePackage" value="cn.biye.core.dao.user, cn.biye.core.dao.product,cn.biye.core.dao.order,cn.biye.core.dao.country"/> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean>

    在这一点上面经常报错,可以肯定的是,把路径都详细指到位肯定是不会错的,但因为我赖得写全路径,所以就报莫名其妙的500,还写上一大堆参数未绑定,

    无法注入bean也都是这个问题,,,最准确一点是报:在实现层找不到可以注入的dao   can not autowire. No beans of 'FeatureDao"   其实也是它。

     

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
    
    关于maven构建spring+Mybatis工程运行错误:
    org.apache.ibatis.binding.BindingException: Invalidbound statement (not found):
    在网上找了一些帖子和博文,发现可能是在打包时没有打包mapper.xml文件。最后到target下看,果然在对于的package下没有mapper.xml文件。
    针对idea下没有打包package下的mapper.xml的解决方法:
    在maven的pom.xml文件的<build>节点下告诉maven我们需要打包的文件:
    
    
    最后可以在target下看看是否我们编写的mapper.xml文件被打包没有。
    总结一下org.apache.ibatis.binding.BindingException: Invalidbound statement (not found):的大多数原因:
    1.        先检查自己的mapper.xml文档是否在Mybatis的配置文件中是否加载了。
    2.        查看mapper.xml文件中namespace的命名空间是否和接口的类的全名称相同
    3.        查看mapper.xml文件中sql语句的id名称是否和接口中的方法名称一致。
    4.        Sql语句中的参数和返回类型和接口中的参数和返回值类型相同
    5.        最后查看生成的target中是否有对于的mapper.xml文件(如果上面都检查没有问题,那一般就是mapper.xml文件没有打包到target中)解决方法:
    

      

  • 相关阅读:
    幂等设计
    Dubbo
    Kubernetes-K8S
    Log4Net配置以及使用
    网站对话框开源脚本--ArtDialog V6.0
    实现VS2010整合NUnit进行单元测试(转载)
    HTML+CSS页面滚动效果处理
    Bootstrap 表格 笔记
    Bootstrap 排版 笔记
    Bootstrap简介
  • 原文地址:https://www.cnblogs.com/aashui/p/7886730.html
Copyright © 2011-2022 走看看