環境:spring3.1.1+mybatis3.2.8+mybatis-spring1.2.3 java
SpringMVC + MyBatis整合,出現下面的錯誤: web
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): org.com.mars.dao.test.UserDao.queryUserById spring
可能的緣由是: sql
1. 請檢查mapper.xml文件路徑是否配置正確。 apache
<!-- 建立SqlSessionFactory,同時指定數據源 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 自動掃描entity目錄, 省掉Configuration.xml裏的手工配置 --> <property name="mapperLocations" value="classpath*:maper/*.map.xml" /> </bean>
2. mapper.xml中的namespace 問題。 mybatis
值應該是*Dao.java app
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.com.mars.dao.test.*Dao"> ... </mapper>
參考資料:http://my.oschina.net/wangbiglei/blog/489597 spa
本文若有不正,請指出。 .net
以上。