本文主要是介绍IntelliJ IDEA入门系列(4)-- mybatis 报错BindingException,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于mybatis的org.apache.ibatis.binding.BindingException: Invalid bound statement (not found),这个错误,我这里备注下
我的环境是在IntelliJ idea2016的环境下,最近开始学习一下这种ide,因为想建站嘛,这个用GitHub据说是要方便一些,前几天看完了idea的入门教程,于是想搭一个框架(其实以前在eclipse上已经搭建过得)。
啰嗦这么久………….
框架:
springMVC + mybatis + maven问题:
运行起来后死活,一直跑错,我以为是配置有问题,
下面是部门代码
<!-- 配置mybatis的sqlSessionFactory -->
<!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="mySqlDataSource" />
<!-- 自动扫描mappers.xml文件 ,要加上classpath:com/...-->
<property name="mapperLocations" value="classpath*:com/example/mapping/*Mapper.xml"></property>
<!-- mybatis配置文件 -->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
一直以为是mapperLocations这个路径配的有问题,一直百度,发现都是什么注释掉了的解决方案,我这个在eclipse上可是能运行的。所以忽略。。。
后来找到 这篇文章 ,一下子发现问题所在,然后看了一下我的target文件
,图中2这个地方确实是没有mapping这个目录的,而我的src项目是有的,难怪mapperLocations一直找不到配置文件,如是
把这篇文章,中的<build>
放到我的pom.xml文件中,用maven重新package一下,就刷出了图中2部分,这次果然ok了。
<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
总结
idea也没那么神奇嘛,eclipse自动build所以没有出现这种问题,而idea不能把src/main/java中的**mapper.xml加载到target中,这里记一下,顺便感慨自己还是一如既往的彩笔…
这篇关于IntelliJ IDEA入门系列(4)-- mybatis 报错BindingException的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!