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 }

springmvc与mybatis整合时 java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required 异常

原文地址:https://www.cnblogs.com/cat-fish6/p/8961830.html

时间: 2024-10-10 20:12:58

springmvc与mybatis整合时 java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required 异常的相关文章

spring整合mybatis遇到的bug java.lang.IllegalArgumentException: Property &#39;sqlSessionFactory&#39; or &#39;sqlSessionTemplate&#39; are required

出bug的原因:mybatis-spring版本问题. 查看SqlSessionDaoSupport源码 1.2以上的版本: 1.1.1版本: 解决方法:1.2版本移除了@Autowired的注解,所以如果是1.2版本以上,要在BaseDaoImpl里面手动 注入SetSessionTemplate或者SetSessionFactory spring整合mybatis遇到的bug java.lang.IllegalArgumentException: Property 'sqlSessionFa

图片缩放时java.lang.IllegalArgumentException: pointerIndex out of range

06-03 20:45:24.143: E/AndroidRuntime(1230): FATAL EXCEPTION: main 06-03 20:45:24.143: E/AndroidRuntime(1230): java.lang.IllegalArgumentException: pointerIndex out of range 06-03 20:45:24.143: E/AndroidRuntime(1230): at android.view.MotionEvent.native

Spring整合Mybatis解决 Property &#39;sqlSessionFactory&#39; or &#39;sqlSessionTemplate&#39; are required

在Spring4和Mybatis3整合的时候,dao层注入'sqlSessionFactory'或'sqlSessionTemplate'会报错解决办法如下: package com.alibaba.webx.MyWebxTest.myWebX.module.dao.impl; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionTemplate; import org.m

Springboot 2.0.4 整合Mybatis出现异常Property &#39;sqlSessionFactory&#39; or &#39;sqlSessionTemplate&#39; are required

在使用Springboot 2.0.4 整合Mybatis的时候出现异常Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required,然后各种找日志百度,网上给了一种解决方法: 版本太高,使用手动注入sqlSessionFactory,然后用dao的实习类继承,因为我的项目没有dao 的实现类,直接是interface+mapper文件,所以直接忽略了,没有试过,想试一下可以试一下 阅读博客点这里(随手百度的):这里是传送门

spring boot 2.0.0 + mybatis 报:Property &#39;sqlSessionFactory&#39; or &#39;sqlSessionTemplate&#39; are required

spring boot 2.0.0 + mybatis 报:Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required 无法启动 google baidu了一番,多数都提示缺少: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artif

图片缩放时java.lang.IllegalArgumentException: pointerIndex out of range解决方案

版权声明:本文为博主原创文章,未经博主允许不得转载. 06-03 20:45:24.143: E/AndroidRuntime(1230): FATAL EXCEPTION: main06-03 20:45:24.143: E/AndroidRuntime(1230): java.lang.IllegalArgumentException: pointerIndex out of range06-03 20:45:24.143: E/AndroidRuntime(1230): at androi

spring、springmvc和mybatis整合(java config方式)

之前项目中使用ssm框架大多是基于xml的方式,spring3.0以后就提供java config的模式来构建项目,并且也推荐使用这种方式,自从接触过springboot后,深深感受到这种纯java配置的便利,但是springboot默认为我们引入好多jar和配置,使得项目变得很重,因此决定自己动手搭建一个无xml的ssm项目. 开发环境 我的开发环境如下: web服务器:tomcat8 开发工具:STS JDK版本:1.8 项目构建工具:maven 搭建过程 1.首先引入相关依赖 pom文件如

mybatis报错: java.lang.IllegalArgumentException invalid comparison: java.util.Date and java.lang.String

原因是在使用<if> 进行条件判断时, 将datetime类型的字段与 ' ' 进行了判断,导致的错误 解决, 只使用  <if test="createTime != null"></if> 做判断就行了 详细可参考: https://blog.csdn.net/wanghailong_qd/article/details/50673144 原文地址:https://www.cnblogs.com/gczmn/p/11880972.html

Mybatis java.lang.IllegalArgumentException: uncategorized SQLException for SQL []; SQL state [null]

1.数据库字段原类型为Date 类型,因为数据原因,将该字段换为String类型,结果导致Mybatis 报出java.lang.illegalargumentexception, 因为数据库的变动我并不知晓,所以这个问题查了好久 2.解决过程 首先认为是SQL原因,但是Mybatis 组装的语句放到PLSQL中执行没有错误 接下来定位到数据库更换是不是有地方不一样,结果找到了有相同命名的一个字段,原数据库类型为Date ,改变数据库后,字段类型为String 下面就定位到执行SQL后,返回的数