mybatis错误-org.mybatis.spring.transaction.SpringManagedTransactionFactory.newTransaction

来源:互联网 发布:淘宝秒杀辅助工具 编辑:程序博客网 时间:2024/04/27 10:17
springmvc整合Mybatis时出错
主要错误信息:
org.mybatis.spring.transaction.SpringManagedTransactionFactory.newTransaction(Ljava/sql/Connection;)Lorg/apache/ibatis/transaction/Transaction;

控制层中的代码:
public class StyleController {
 @Autowired
 private StyleMapper styleMapper;
 
 @RequestMapping("/queryByOne")
 public String queryByOne(HttpServletRequest request) throws IOException
 {
  /*

Reader reader =Resources.getResourceAsReader("mybatis-config.xml");
  SqlSessionFactory sqlSession = new SqlSessionFactoryBuilder().build(reader);
 
  SqlSession session =sqlSession.openSession();
  StyleCategory style=session.selectOne("com.mybatis.dao.StyleMapper.getStyleCategoryInfoById",2);
*/
 
  StyleCategory style = styleMapper.getStyleCategoryInfoById(2);
  System.out.println(style.getStyleId()+":"+style.getStyleName());
 
  request.setAttribute("style", style);
  return "/index";
 }

解决过程:
1.打了断点:发现styleMapper有值,不为null。那就只能是getStyleCategoryInfoById()方法的问题。
2.通过
    Reader reader =Resources.getResourceAsReader("mybatis-config.xml");
  SqlSessionFactory sqlSession = new SqlSessionFactoryBuilder().build(reader);
 
  SqlSession session =sqlSession.openSession();
  StyleCategory style=session.selectOne("com.mybatis.dao.StyleMapper.getStyleCategoryInfoById",2);

方法可以获得到值。
那就说明sql映射文件和Mybatis主配置文件以及spring的配置也没有问题;那问题就只能出现在作为中间连接的数据访问层的dao(xxxMapper)中的方法 ;

解决方法:
jar包的问题: 之前用的是mybatis-spring-1.0.2.jar换成mybatis-spring-1.1.1.jar就不会有问题了。
出现该问题的包应该都是mybatis-spring-1.0.X.jar系列的。

下载地址:http://download.csdn.net/detail/u013147600/9074487
2 0
原创粉丝点击