springmvc与mybatis整合时 java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required 异常
2024-08-30 02:59:57
今天在整合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 }
最新文章
- 【Java EE 学习 28 下】【Oracle面试题2道】【Oracle练习题3道】
- 如何在eclipse将程序导出成jar文件
- 标准IO的缓冲问题
- 我的工具箱之Putty
- jquery 父页面 子页面 同级页面 调用
- jquery中交替点击事件toggle方法的使用示例
- SQL 查找存储过程及视图与自带函数
- codeforces 339C Xenia and Bit Operations(线段树水题)
- 重新mysql-server
- HDU 4661 Message Passing 【Tree】
- CSUOJ 1299 - Number Transformation II 打表预处理水DP
- bzoj2281 [Sdoi2011]黑白棋
- 用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识
- Codeforces Round #483 Div. 1
- LeetCode 257 二叉树的所有路径
- free -m图解
- duilib进阶教程 -- 在MFC中使用duilib (1)
- JavaScript Best Practices (w3cschool)
- 《剑指offer》— JavaScript(30)连续子数组的最大和
- asp.net后台获取前台页面大小