对Mybatis进行原始Dao层开发的举例子:

定义获取session工具类:

package com.langsin.unit;import java.io.InputStream;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class SqlSessionConn {private static SqlSessionFactory factory=null;
public static SqlSession getSqlSession() throws Exception{if(factory==null){InputStream stream=Resources.getResourceAsStream("SqlMapConfig.xml");factory=new SqlSessionFactoryBuilder().build(stream);}SqlSession session=factory.openSession();return session;
}
}

定义dao层接口 :

package com.langsin.dao;import com.langsin.pojo.User;public interface UserDao {public User queryUserById(Integer userId) throws Exception;public int insertUser(User user)throws Exception;public int deleteUserById(Integer userId)throws Exception;
}

定义dao层实现类:

package com.langsin.dao.impl;import org.apache.ibatis.session.SqlSession;import com.langsin.dao.UserDao;
import com.langsin.pojo.User;
import com.langsin.unit.SqlSessionConn;public class UserDaoImpl implements UserDao {@Overridepublic User queryUserById(Integer userId) throws Exception {userId=1;SqlSession session=SqlSessionConn.getSqlSession();User user=session.selectOne("userMapper.queryUserById", userId);System.out.println(user);session.close();return user;}@Overridepublic int insertUser(User user) throws Exception {SqlSession session=SqlSessionConn.getSqlSession();int num = session.insert("userMapper.insertUser", user);session.commit();session.close();return num;}@Overridepublic int deleteUserById(Integer userId) throws Exception {// TODO Auto-generated method stubreturn 0;}}

这种方式仍然存在代码冗余问题,Dao层实现类其实不用我们自己去实现,在后面的Mapper代理模式会介绍。

Mybatis 原始Dao层开发相关推荐

  1. Spring整合Mybatis之DAO层、Service层开发

    3. Spring整合Mybatis编程DAO层开发 1. 项目引入相关依赖spring mybatis mysql mybatis-spring druid2. 编写spring.xml整合:spr ...

  2. MyBatis-学习笔记06【06.使用Mybatis完成DAO层的开发】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  3. SpringBoot实现Java高并发秒杀系统之DAO层开发(一)

    SpringBoot实现Java高并发秒杀系统之DAO层开发(一) 秒杀系统在如今电商项目中是很常见的,最近在学习电商项目时讲到了秒杀系统的实现,于是打算使用SpringBoot框架学习一下秒杀系统( ...

  4. Mybatis中DAO层接口没有写实现类,Mapper中的方法和DAO接口方法是怎么绑定到一起的...

    参考mybatis入门基础(二)----原始dao的开发和mapper代理开发 其实也就是通过接口名与mapper的id绑定在一起,通过SQL去写实现类,返回数据. 转载于:https://www.c ...

  5. MyBatis的Dao层实现方式

    MyBatis的Dao层实现方式 MyBatis的Dao层实现 1.1 传统开发方式 1. 编写UserDao接口 public interface UserDao { List<User> ...

  6. Mybatis的Dao层实现

    Mybatis的Dao层实现 1.传统方式实现 创建接口com.dao.UserMapper package com.dao;import com.domain.User;import java.io ...

  7. 详解MyBatis的Dao层实现和配置文件深入

    这篇文章主要为大家详细介绍了MyBatis的Dao层实现和配置文件深入,文中的示例代码讲解详细,感兴趣的小伙伴快来跟随小编一起学习一下 目录 [Mybatis的Dao层实现] [传统开发方式] [代理 ...

  8. MyBatis之Dao层实现

    文章目录 1.传统开发方式 2.代理开发方式 我们在了解 MyBatis 的映射文件和配置文件时,所举例的实例都是通过单元测试的方式实现.但在实际开发中,我们需要将 MyBatis 的实现写到 Dao ...

  9. Spring+SpringMVC+MyBatis深入学习及搭建(二)——MyBatis原始Dao开发和mapper代理开发

    前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(一)--MyBatis的基础知识.MybatisFirst中存在大量重复的代码.这次简化下代码: 使用MyBatis开发Dao ...

最新文章

  1. javascript原型的改动与重写(覆盖)区别
  2. 来源oa_骨性关节炎(OA)的初期管理——早点行动起来
  3. 线段树求区间和(单点更新)
  4. Effective Java之避免使用终结方法(七)
  5. Flume数据传输事务分析[转]
  6. [渝粤教育] 西南科技大学 机械专业外语 在线考试复习资料2021版
  7. 对比 | Python中超级好用的“列表解析式”、“字典解析式”、“集合解析式”
  8. html表格列平分行,CSS布局问题 , 如何实现一行多列div,类似于表格
  9. NETCONF YANG语言文件语法格式
  10. python爬虫之协程理解爬取照片的简单版
  11. altium pcb 信号高亮_作为PCB工程师,你需要了解这几个设计指南
  12. android手机视频,安卓手机视频加密软件
  13. Linux内核私闯进程地址空间并修改进程内存
  14. 【SEAN的日志】如何突破微信小程序2M限制?
  15. 【科学数据库】数据的合并与分组聚合||||||||
  16. 大饼“U”形底?ETR开始
  17. red hat linux 9下载地址,Red Hat Linux 9.0 ISO下载 (转)
  18. 如何用Python制作简单又好看的词云?来瞅瞅吧~
  19. 初创企业融资PPT模板
  20. MySQL查看表结构SQL语句

热门文章

  1. 使用Tomcat Maven插件进行项目部署
  2. maven项目的pom文件中各标签理解
  3. 关于spring cloud的几个核心组件
  4. IDEA基本使用及配置(2)
  5. 2016年第二季度DDoS攻击同比增长129%
  6. ASP.NET Core和Angular 2双剑合璧
  7. mysql的常用查询辅助函数汇总
  8. 在Android工程中,添加ICON资源
  9. HTML DOM教程 37-HTML DOM Meta 对象
  10. 如何将word表结构转换为excel表格,最终转换为PowerDesigner格式