IntelliJ IDEA使用Maven创建Spring和Mybatis工程出现...BindingException: Invalid bound statement (not found)...

使用intelliJ idea创建Mybatis工程后,扫描xml所在的包也配置了,如下,

<!--spring与MyBatis结合,不需要mybatis配置映射文件-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <!--自动扫描mapping.xml-->
        <property name="mapperLocations" value="classpath:com/haoyifen/iot/mappers/*.xml"></property>
    </bean>

但是一直报异常:

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

也就是说没有找到有sql语句的xml文件。

找了很久都没找到问题所在,后来去看target文件夹,发现并没有Mybatis的xml文件。原来是Maven默认并不打包源码目录下的xml文件,在pom.xml中添加如下的配置,将resource下的所有文件(spring和jdbc的配置也放进来)和源代码目录下的所有xml文件(Mybatis的xml映射文件)都打包进目标文件中。

  <build>
        <resources>
            <resource>
                <directory>
                    src/main/resources
                </directory>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

再次运行就可以了

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值