mybatis3:Invalid bound statement (not found)

lonecloud發表於2016-09-25

最近在玩ssm框架搭建,突然發現最後的時候mybaits和SpringMvc進行整合的時候出現錯誤

  Invalid bound statement (not found)

這個錯誤有可能出現在以下幾個方面:

  1.如果測試類對mybatis進行測試的時候成功但是整合的時候失敗了,檢查這個spring-mybatis檔案是否有問題

在basePackage中只能掃描dao層,如果不指定,寫一個範圍型的會導致淨service也進行注入,導致錯誤

<!-- DAO介面所在包名,Spring會自動查詢其下的類 -->

  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

  <!-- mybaties中只能讓他掃描dao層 -->

    <property name="basePackage" value="cn.lonecloud.dao" />

    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>

  </bean>

   2.如果進行測試類的時候出現錯誤檢查mapper檔案和spring-mybatis檔案中對basepackage是否寫錯

重要檢查這個幾個地方:

<mapper namespace="cn.lonecloud.dao.UserDao" >
  <resultMap id="BaseResultMap" type="cn.lonecloud.model.User" >

 

  <!-- 自動掃描 -->
  <context:component-scan base-package="cn.lonecloud" />

 

  <!-- spring和MyBatis完美整合,不需要mybatis的配置對映檔案 -->
  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <!-- 自動掃描mapping.xml檔案 -->
    <property name="mapperLocations" value="classpath:cn/lonecloud/mapping/*.xml"></property>
  </bean>

 

相關文章