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>

再次運行就可以了

發佈了44 篇原創文章 · 獲贊 37 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章