前面的系列mybatis 文章,已经基本讲到了mybatis的操作,但都是基于mapper隐射操作的,在mybatis 3中这个mapper 接口貌似充当了以前在ibatis 2中的 DAO 层的作用。但事实上,如果有这个mapper接口不能完成的工作,或者需要更复杂的扩展的时候,你就需要自己的DAO 层. 事实上 mybatis 3 也是支持DAO 层设计的,类似于ibatis 2 .下面介绍下.

在此之前,请下载 上一篇文章提供的代码:http://www.yihaomen.com/article/java/326.htm

首先创建一个com.yihaomen.dao的package.然后在里面分别创建接口UserDAO,以及实现该接口的UserDAOImpl 

 程序代码

package com.yihaomen.dao;
import java.util.List;
import com.yihaomen.model.Article;
public interface UserDAO {
    public List<Article> getUserArticles(int userid);
}

 程序代码

package com.yihaomen.dao;
import java.util.List;
import org.mybatis.spring.support.SqlSessionDaoSupport;
import org.springframework.stereotype.Repository;
import com.yihaomen.model.Article;

@Repository
public class UserDAOImpl extends SqlSessionDaoSupport implements UserDAO {
    @Override
    public List<Article> getUserArticles(int userid) {        
        return this.getSqlSession().selectList("com.yihaomen.inter.IUserOperation.getUserArticles",userid);
    }
}

执行的SQL 语句采用了命名空间+sql 语句id的方式,后面是参数.

注意继承了 "SqlSessionDaoSupport" ,利用方法 getSqlSession() 可以得到 SqlSessionTemplate ,从而可以执行各种sql语句,类似于hibernatetemplate一样,至少思路一样.

如果与spring 3 mvc 集成要用  autowire的话,在daoimpl 类上 加上注解 “@Repository” ,另外还需要在spring 配置文件中加入<context:component-scan base-package="com.yihaomen.dao" /> 这样在需要调用的地方,就可以使用autowire自动注入了。

当然,你也可以按一般程序的思路,创建一个service 的package, 用service 去调用 dao层,我这里就没有做了,因为比较简单,用类似的方法,也机注意自动注入时,也要配置 <context:component-scan base-package="com.yihaomen.service" /> 等这样的。

在controller层中测试,直接调用dao层方法
在controller中加入方法:

 程序代码

@Autowired
    UserDAO userDAO;

.......

@RequestMapping("/daolist")
    public ModelAndView listalldao(HttpServletRequest request,HttpServletResponse response){
        List<Article> articles=userDAO.getUserArticles(1);
        //制定视图,也就是list.jsp
        ModelAndView mav=new ModelAndView("list");
        mav.addObject("articles",articles);
        return mav;
    }

这样可以得到同样的结果,而且满足了一般程序的设计方法.代码结构如下:

完成后,程序代码下载.
 点击下载此文件

转载于:https://www.cnblogs.com/yanhuanghero/p/3373943.html

mybatis SqlSessionDaoSupport的使用(附代码下载)(转)相关推荐

  1. ASP.NET的MVC中使用Cookie做身份验证(附代码下载)

    场景 ASP.NET的MVC中使用Session做身份验证(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1071 ...

  2. Ionic+Angular实现中英国际化(附代码下载)

    场景 Ionic介绍以及搭建环境.新建和运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106308166 在上面搭建起 ...

  3. Ionic+Angular+Express实现前后端交互使用HttpClient发送get请求数据并加载显示(附代码下载)

    场景 Ionic介绍以及搭建环境.新建和运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106308166 在上面搭建起 ...

  4. Dubbo与SpringBoot整合流程(从实例入手,附代码下载)

    场景 Dubbo环境搭建-管理控制台dubbo-admin实现服务监控: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10362 ...

  5. JPA中实现双向多对多的关联关系(附代码下载)

    场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...

  6. 从实例一步一步入门学习SpringCloud的Eureka、Ribbon、Feign、熔断器、Zuul的简单使用(附代码下载)

    场景 SpringCloud -创建统一的依赖管理: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102530574 Sprin ...

  7. 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载

    一.分布式消息总线以及基于Socket的实现 在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给大家分享和介绍了一个极其简单也非常容易上的基于.N ...

  8. Java中集成极光推送实现给Android提送消息通知(附代码下载)

    场景 Android中集成极光推送实现推送消息通知与根据别名指定推送附示例代码下载: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details ...

  9. Winform中通过NPOI导出Excel的三种方式(HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook)附代码下载

    场景 HSSFworkbook,XSSFworkbook,SXSSFworkbook区别 HSSFWorkbook: 是操作Excel2003以前(包括2003)的版本,扩展名是.xls:导出exce ...

  10. SpringBoot+MyBatisPlus+ElementUI一步一步搭建前后端分离的项目(附代码下载)

    场景 一步一步教你在IEDA中快速搭建SpringBoot项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/87688277 ...

最新文章

  1. 想写点什么留下点念想
  2. R语言学习笔记 (入门知识)
  3. Spring MVC总结
  4. react-router 4.0 学习笔记
  5. VS2012生成C的dll并调用以及Python调用C的DLL
  6. C语言课后习题(21)
  7. python `__hash__`
  8. maven常见问题归纳
  9. sublime后缀_提高数据分析工作效率-Sublime如何设置默认打开文件格式
  10. SpringMVC的URL路径映射@RequestMapping
  11. PreferenceActivity使用介绍
  12. 软件需求说明书模板和实际案例
  13. SQLyog详细安装教程
  14. linux 查看日志以及查看
  15. mysql 全文索引 使用_MySql全文索引
  16. 验证码漏洞汇总(一)
  17. Windowns11并未完全抛弃IE内核,可向下兼容至IE7
  18. 光滑曲线_对第一/二型曲线/曲面积分的小总结
  19. 第五届四川省职工职业技能大赛决赛计算机程序设计员技术文件大纲
  20. scpjsv3模组链接_我的世界scpv3模组

热门文章

  1. 详解,c/c++输入输出缓冲区,以及scanf回车的问题
  2. 使用 nginx 搭建简易文件服务器
  3. 行内元素多出的空白文本节点的解决方法
  4. golang 数据一   (字符串、数组和数组指针)
  5. SQL Server的锁机制
  6. python中os模块的常用
  7. [BZOJ4913][SDOI2017]遗忘的集合
  8. 【Luogu】P1486郁闷的出纳员(Splay)
  9. Delphi GDI对象之绘制文本
  10. 手把手教你配置苹果APNS推送服务|钿畑的博客 | 钿畑的博客