spring+mybatis框架报错

J2EE 码拜 6年前 (2015-04-09) 768次浏览 0个评论

 ==  [DUBBO] Got unchecked and undeclared exception which called by 192.168.1.8. service: com.mbk.yb.service.LoginService, method: login, exception: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.mbk.yb.model.user.UserDao.getUserById
### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.mbk.yb.model.user.UserDao.getUserById, dubbo version: 2.5.3, current host: 127.0.0.1
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.mbk.yb.model.user.UserDao.getUserById
### Cause: java.lang.IllegalArgumentException: Mapped Statements collection does not contain value for com.mbk.yb.model.user.UserDao.getUserById
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371)
at $Proxy8.selectOne(Unknown Source)
at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:163)
at com.mbk.yb.dao.ipml.UserDaoIpml.insertUser(UserDaoIpml.java:17)
at com.mbk.yb.service.ipml.LoginServiceIpml.login(LoginServiceIpml.java:29)

spring+mybatis框架报错
10分
加个断点调试看看,是不是哪边参数没传或者传的不对
spring+mybatis框架报错
10分
Mapped Statements collection does not contain value for后面是什么类什么方法之类的: 
错误原因有几种: 
1、mapper.xml中没有加入namespace 
2、mapper.xml中的方法和接口mapper的方法不对应 
3、mapper.xml没有加入到mybatis-config.xml中(即总的配置文件),例外:配置了mapper文件的包路径的除外 
4、mapper.xml文件名和所写的mapper名称不相同。
spring+mybatis框架报错
以下是spring的配置文件spring.xml

<aop:aspectj-autoproxy />
<context:component-scan base-package=”com.mbk.yb” />
<context:property-placeholder location=”classpath:resources.properties” />
<tx:annotation-driven transaction-manager=”txManager” />
<bean id=”transactionManager” class=”org.springframework.jdbc.datasource.DataSourceTransactionManager”
p:dataSource-ref=”dataSource” />
<bean id=”sqlSessionFactory” class=”org.mybatis.spring.SqlSessionFactoryBean” > 
<property name=”dataSource” ref=”dataSource” /> 
<property name=”mapperLocations” value=”classpath*:com/mbk/yb/model/**/*.xml” /> 
</bean>

<bean class=”org.mybatis.spring.mapper.MapperScannerConfigurer”
p:basePackage=”com.mbk.yb.model” p:sqlSessionFactoryBeanName=”sqlSessionFactory” />

<tx:advice id=”transactionAdvice” transaction-manager=”transactionManager”>
<tx:attributes>
<tx:method name=”add*” propagation=”REQUIRED” />
<tx:method name=”append*” propagation=”REQUIRED” />
<tx:method name=”insert*” propagation=”REQUIRED” />
<tx:method name=”save*” propagation=”REQUIRED” />
<tx:method name=”update*” propagation=”REQUIRED” />
<tx:method name=”modify*” propagation=”REQUIRED” />
<tx:method name=”edit*” propagation=”REQUIRED” />
<tx:method name=”delete*” propagation=”REQUIRED” />
<tx:method name=”remove*” propagation=”REQUIRED” />
<tx:method name=”repair” propagation=”REQUIRED” />
<tx:method name=”delAndRepair” propagation=”REQUIRED” />
<tx:method name=”get*” propagation=”SUPPORTS” />
<tx:method name=”find*” propagation=”SUPPORTS” />
<tx:method name=”load*” propagation=”SUPPORTS” />
<tx:method name=”search*” propagation=”SUPPORTS” />
<tx:method name=”datagrid*” propagation=”SUPPORTS” />
<tx:method name=”*” propagation=”SUPPORTS” />
</tx:attributes>
</tx:advice>
<bean id=”druid-stat-interceptor”
class=”com.alibaba.druid.support.spring.stat.DruidStatInterceptor” />
 <bean id=”druid-stat-pointcut” class=”org.springframework.aop.support.JdkRegexpMethodPointcut”
scope=”prototype”>
<property name=”patterns”>
<list>
<value>com.mbk.yb.service.ipml.*</value>
</list>
</property>
</bean>
<aop:config>
<aop:advisor advice-ref=”druid-stat-interceptor”
pointcut-ref=”druid-stat-pointcut” />
</aop:config> 
<import resource=”classpath*:config/yb-datasource.xml” />
<import resource=”classpath*:config/yb-dubbo.xml” />
</beans>

spring+mybatis框架报错
<?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=”com.mbk.yb.model.user.UserDao”>

<select id=”getUserById” parameterType=”String ” resultType=”User”>
   select * from user where id = #{id}
   </select>
</mapper>
————————————————-
@Repository(“userDao”)
public class UserDaoIpml extends BaseDao implements UserDao {

@Override
public void insertUser(User user) {
getSqlSession().selectOne(“com.mbk.yb.model.user.UserDao.getUserById”, user.getId());

}
}
代码是这样的,调试过去就报上述那个错误,蛋疼的要命…………

spring+mybatis框架报错
10分
引用 5 楼 aiafei0001 的回复:

spring+mybatis框架报错

com.mbk.yb.model.user.UserDao.getUserById?? .user.UserDao?

spring+mybatis框架报错
还是报错,找不出原因来,跪求帮助!!!!
spring+mybatis框架报错
10分
看一下user.xml里的命名空间对不对
spring+mybatis框架报错
我把所有的代码都贴在楼上了,请帮我看看
spring+mybatis框架报错
<mapper namespace=”com.mbk.yb.dao.UserDao”>
spring+mybatis框架报错
哪里错了?
实在不解
spring+mybatis框架报错
配置文件检查一下,是不是符合代码的要求
spring+mybatis框架报错
配置文件也贴在上面了,没找出原因来

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明spring+mybatis框架报错
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!