zoukankan      html  css  js  c++  java
  • springmvc与mybatis整合时 java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required 异常

    今天在整合springmvc与mybatis时,启动服务器遇到这样一个问题,

     by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required at org.springframework.util.Assert.notNull(Assert.java:112)

    异常的意思是  缺少sqlSessionFactory 或者是  sqlSessionTemplate

    我的dao层是利用继承SqlSessionDaoSupport  然后可以直接通过this.getSqlSession() 来进行数据库的操作。

    后来通过搜索以及查看源代码发现,mybatis-spring 1.2版本没有自动注入sqlSessionFactory

    解决方法是手动注入

    1 public class BaseDaoImpl extends SqlSessionDaoSupport {
    2     
    3     @Autowired
    4     public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory){  
    5             super.setSqlSessionFactory(sqlSessionFactory);  
    6     }
    7 }

    然后在将dao实现类继承BaseDaoImpl就可以使用了

     1 @Repository
     2 public class PersonDaoImpl extends BaseDaoImpl implements PersonDao {
     3 
     4     String ns = "cn.tx.mapper.PersonMapper.";
     5     @Override
     6     public void savePerson(Person p) {
     7         this.getSqlSession().insert(ns+"savePerson", p);
     8     }
     9 
    10     @Override
    11     public Person selectPersonById(Integer personId) {
    12         return this.getSqlSession().selectOne(ns+"selectPersonById", personId);
    13     }
    14 
    15     @Override
    16     public void update(Person p) {
    17         this.getSqlSession().update(ns + "update", p);
    18     }
    19 
    20     @Override
    21     public void delete(Integer personId) {
    22         this.getSqlSession().delete(ns + "delete", personId);
    23     }
    24 
    25     @Override
    26     public List<Person> selectPersonByCondition(QueryCondition qc) {
    27         return this.getSqlSession().selectList(ns + "selectPersonByCondition", qc);
    28     }
    29 
    30 }
  • 相关阅读:
    如何查找本地的ip
    jQuery解析AJAX返回的html数据时碰到的问题与解决
    angularjs之ng-bind和ng-model
    nodejs配置及cmd常用操作
    ID属性值为小数
    DOM对象
    js跨域问题
    加载图片失败,怎样替换为默认图片
    常用前端 网址
    echart字符云之添加点击事件
  • 原文地址:https://www.cnblogs.com/cat-fish6/p/8961830.html
Copyright © 2011-2022 走看看