解决Mybatis和Spring整合过程中遇到的Invalid bound statement (not found) 问题

今天在学mybatis和spring整合时一直报Invalid bound statement (not found)的问题

mybatis使用的是xml方式配置:

下面是指定的映射文件位置

<!--配置SqlSessionFactory工厂-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath*:pub/zgq/mapper/*.xml"/>
    </bean>

该映射文件处于项目这个位置


 错误信息中猜测就是找不到该映射文件的感觉,上网查阅一番后,终于找到了原因

原因:

当使用IDEA编译器的时候,这样做其实是不行的,原因是IDEA编译后默认会把resource下的文件放到target的classpath下,但是src下的只有Java文件编译生成.class文件放入classpath下,其他文件会忽略的。

也就是说,放在mapper下的StudentMapper.xml是会被忽略的。

这个很有可能会报Invalid bound statement (not found)

 解决方法:


解决方案就是让IDEA不要忽略src目录下的xml文件,在pom.xml文件中的<build></build>中添加代码

<!--解决idea不编译java里的xml-->
<resources>
  <resource>
    <directory>src/main/java</directory>
    <includes>
      <include>**/*.xml</include>
    </includes>
  </resource>
</resources>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值