Mybatis框架-CRUD
1
2
3
传统dao开发实现CRUD
3.1 传统dao开发实现crud
使用 Mybatis 开发 Dao,通常有两个方法,即原始 Dao开发方式和 Mapper 接口代理开发方式。而现在主流的开发方式是接口代理开发方式,这种方式总体上更加简便。
本次课来了解一下传统dao开发方式:编写dao接口的实现类。
3.2 开发步骤、核心代码和配置
1. 创建项目,导包,导入日志配置文件
2. 创建实体类
3. 创建dao接口
public List<Users> findAllUsers(); List<Users> findAllUsers(); Users findById(intid); void insertUser(Users users); void updateUser(Users users); void deleteUser(intid);
配置开发环境,配置别名,配置sql映射文件注入
4. 配置核心配置文件
5. 创建dao接口的实现类
publicclass UserDaoImpl implements IUsersDao{ private SqlSessionFactory factory; public UserDaoImpl(SqlSessionFactory factory) { this.factory = factory; } //查询所有用户 @Override public List<Users> findAllUsers() { SqlSession sqlsession = factory.openSession(); //参数值为:映射文件中的namespace属性值+select标签的id值 List<Users> users = sqlsession.selectList("com.hebi.dao.IUsersDao.findAllUsers"); sqlsession.close(); returnusers; } //根据id查询用户 @Override public Users findById(intid) { SqlSession sqlsession = factory.openSession(); //参数值为:映射文件中的namespace属性值+select标签的id值 Users users = sqlsession.selectOne("com.hebi.dao.IUsersDao.findById",id); sqlsession.close(); returnusers; } //添加用户 @Override publicvoid insertUser(Users users) { SqlSession sqlsession = factory.openSession(); //参数值为:映射文件中的namespace属性值+select标签的id值 sqlsession.insert("com.hebi.dao.IUsersDao.insertUser",users); sqlsession.commit(); sqlsession.close(); } //修改用户 @Override publicvoid updateUser(Users users) { SqlSession sqlsession = factory.openSession(); //参数值为:映射文件中的namespace属性值+select标签的id值 sqlsession.update("com.hebi.dao.IUsersDao.updateUser",users); sqlsession.commit(); sqlsession.close(); } //删除用户 @Override publicvoid deleteUser(intid) { SqlSession sqlsession = factory.openSession(); //参数值为:映射文件中的namespace属性值+select标签的id值 sqlsession.delete("com.hebi.dao.IUsersDao.deleteUser",id); sqlsession.commit(); sqlsession.close(); } }
6. 配置映射配置文件
配置namespace和select, insert update delete标签
7. 编写测试类进行测试
publicclass Test01 { InputStream in; SqlSessionFactory factory; IUsersDao userDao; @Before//测试方法执行前执行 publicvoid init() throws IOException { //1)读取核心配置文件 in = Resources.getResourceAsStream("mybatis-config.xml"); //2)创建sqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in); //3)创建userDao对象 userDao = new UserDaoImpl(factory); } @After//测试方法执行后执行 publicvoid destory() throws IOException { in.close(); } //测试查询所有用户 @Test publicvoid testAllUser() throws IOException { //调用dao实现类中的方法 List<Users> users = userDao.findAllUsers(); for(Users u:users) { System.out.println(u); } } //测试根据id查询用户 @Test publicvoid testFindById() throws IOException { //调用dao实现类中的方法 Users user = userDao.findById(2); System.out.println(user); } //测试添加用户 @Test publicvoid testInsertUser() throws IOException { Users users = new Users(); users.setUserName("天空"); users.setAge(16); userDao.insertUser(users); System.out.println(users); } //测试修改用户 @Test publicvoid testUpdateUser() { Users users = new Users(); users.setUserName("tiank"); users.setAge(18); users.setId(18); userDao.updateUser(users); } //测试删除用户 @Test publicvoid testDeleteUser() { userDao.deleteUser(23); } }
Mybatis框架-CRUD的更多相关文章
- MyBatis之CRUD
1 mybatis框架介绍 1.1回顾jdbc操作数据库的过程 1.2 mybatis开发步骤 A.提供一个SqlMapperConfig.xml(src目录下),该文件主要配置数据库连接,事务,二级 ...
- MyBatis框架
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用简单的xml或者注解用于 ...
- 深入理解MyBatis框架的的配置信息
面对一个框架,最重要的不是说回用其代码就可以了,我们需要了解其思想,这样才能更快更好的掌握这个框架.而对于一个框架,最重要的就是其配置文件的作用及功能了.下面,我就来谈一谈我今天遇到的这个MyBati ...
- SSM(Spring + Springmvc + Mybatis)框架面试题
JAVA SSM框架基础面试题https://blog.csdn.net/qq_39031310/article/details/83050192 SSM(Spring + Springmvc + M ...
- MyBatis框架入门之(二)
在本篇文章中,没有对细节进行处理的很好,有很多晓得细节的遗漏,本文只是一个简单的快速的入门 MyBatis的快速入门 导入MyBatis框架jar包 配置文件 SqlSessionFactoryBui ...
- 初识Mybatis框架
mybatis框架 主要是对数据库进行操作的 编写sql语句 使我们对数据库的crud操作更加简洁方便!! 1.使用mybatis框架 进行第一个项目 查询数据库 并返回数据 :(简单) (1)搭建 ...
- MyBatis框架的使用及源码分析(二) 配置篇 SqlSessionFactoryBuilder,XMLConfigBuilder
在 <MyBatis框架中Mapper映射配置的使用及原理解析(一) 配置与使用> 的demo中看到了SessionFactory的创建过程: SqlSessionFactory sess ...
- Mybatis框架-1
1.Mybatis框架: Mybatis是一个半自动的对象关系映射(ORM),实现结果集的自动封装,sql写到配置文件中: Mybatis使用的是DTD约束. 2.Mybatis模块调用: 3.Sql ...
- ssm(spring、springmvc、mybatis)框架整合
第一次接触这3大框架,打算一个一个慢慢学,参照网上资料搭建了一个ssm项目,作为新手吃亏在jar包的导入上,比如jdbc DataSource配置的时候由于导入的jar包不兼容或者缺包导致项目无法正常 ...
随机推荐
- 【C++】VS Code配置
0.前言 本文已配置C++环境为例,本文主要是面向刚开始接触VS Code的朋友,采用生成默认配置任务的方法,在编写本文过程中大量参考了官方文档,感兴趣的朋友可直接前往传送门. 环境: win10 + ...
- SpringBoot—自定义线程池及并发定时任务模板
介绍 在项目开发中,经常遇到定时任务,今天通过自定义多线程池总结一下SpringBoot默认实现的定时任务机制. 定时任务模板 pom依赖 <dependencies> <dep ...
- 基于Python豆瓣自动化测试【2】
-- Pytest基础使用教程[2] 从测试报告说起 承接上一篇中最后的测试结果图,使用过的pytest-html 插件原生态的报告的话.可能会发现 内容样式都有些不同.其实是做了些扩展相关设置所呈现 ...
- python常见面试题讲解(八)提取不重复的整数
题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 示例1 ...
- Hadoop Yarn REST API未授权漏洞利用
Hadoop Yarn REST API未授权漏洞利用 Hadoop是一个由Apache基金会所开发的分布式系统基础架构,YARN是hadoop系统上的资源统一管理平台,其主要作用是实现集群资源的统一 ...
- GNS3--cisco路由器NAT配置
一.基础 Cisco路由器配置中NAT的主要命令: 静态NAT: 1.指定NAT内部接口 在内网相应接口的接口配置模式下执行:ip nat inside 2.指定NAT外部接口 在外网相应接口的接口配 ...
- AES实现财务数据的加密解密存储
需求背景 众所周知,金融行业有各种各样的财务报表,有些报表涉及到公司财务或经营相关的敏感数据,需要进行加密存储,只有掌握密钥的用户才能看到解密后的数据.注意,这里所说的加密并不是针对整个数据库或者表全 ...
- Splay代码简化版
皆さん.こんにちは.上一篇文章,我们讲了Splay如何实现.这一篇我们来让我们的伸展树短一点. 上一篇Splay讲解的链接:リンク. 首先还是变量的定义,在这里呢,我把一些小函数也用Define来实现 ...
- cmd 启动mysql,发生系统错误5
在运行cmd的时候,使用管理员身份运行.
- Qcom平台RTC驱动分析
相关文件list: pm8998.dtsi ---RTC dts配置 qpnp-rtc.c ---qcom RTC驱动 class.c ---RTC相关class interface.c ---相关R ...