今天在整合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 }

最新文章

  1. 【Java EE 学习 28 下】【Oracle面试题2道】【Oracle练习题3道】
  2. 如何在eclipse将程序导出成jar文件
  3. 标准IO的缓冲问题
  4. 我的工具箱之Putty
  5. jquery 父页面 子页面 同级页面 调用
  6. jquery中交替点击事件toggle方法的使用示例
  7. SQL 查找存储过程及视图与自带函数
  8. codeforces 339C Xenia and Bit Operations(线段树水题)
  9. 重新mysql-server
  10. HDU 4661 Message Passing 【Tree】
  11. CSUOJ 1299 - Number Transformation II 打表预处理水DP
  12. bzoj2281 [Sdoi2011]黑白棋
  13. 用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识
  14. Codeforces Round #483 Div. 1
  15. LeetCode 257 二叉树的所有路径
  16. free -m图解
  17. duilib进阶教程 -- 在MFC中使用duilib (1)
  18. JavaScript Best Practices (w3cschool)
  19. 《剑指offer》— JavaScript(30)连续子数组的最大和
  20. asp.net后台获取前台页面大小

热门文章

  1. PHP学习中的一些总结(持续更新)
  2. [CSP-S2019]Emiya 家今天的饭 题解
  3. Android自动化测试,5个必备的测试框架
  4. 前端模块化IIFE,commonjs,AMD,UMD,ES6 Module规范超详细讲解
  5. 利用 Python 写个七夕表白神器
  6. 【python】装饰器听了N次也没印象,读完这篇你就懂了
  7. Native Comments
  8. 将微服务部署到 Azure Kubernetes 服务 (AKS) 实践
  9. C#托管堆和非托管堆
  10. linux下查找文件中的某个关键字