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包不兼容或者缺包导致项目无法正常 ...
随机推荐
- FPGA开发工具套餐搭配推荐及软件链接 (更新于2020.03.16)
一.Xilinx(全球FPGA市场份额最大的公司,其发展动态往往也代表着整个FPGA行业的动态) (1) Xilinx官方软件下载地址链接: https://china.xilinx.com/supp ...
- 获取cookie里面的sessionid
做接口的时候我们需要获取一个令牌,类似于token以及sessionid这样的签名,也可以说是一个令牌. import urllib.request, urllib.parse, urllib.err ...
- .NET CORE 依赖注入 实践总结
知识点回顾 依赖包. Microsoft.Extensions.DependencyInjection.Abstractions 核心对象和方法. IServiceCollection.注入对象的容器 ...
- nginx: [error] invalid PID number "" in ...
1.查看进程 ps -ef|grep nginx 2.进入nginx安装目录sbin下,执行命令: ./nginx -t 如下显示: syntax is ok test is successful 3 ...
- while与do-while循环的使用
/* 1.格式: ①初始化条件 while(②循环条件){ ④循环体 ③迭代条件 } 2.for循环与while可以相互转换的 . */ public class TestWhile { //100以 ...
- MySql Oracle SqlServer 数据库的数据类型列表
Oracle数据类型 一.概述 在ORACLE8中定义了:标量(SCALAR).复合(COMPOSITE).引用(REFERENCE)和LOB四种数据类型,下面详细介绍它们的特性. 二.标量(SCA ...
- 练习使用shell在阿里云安装MySQL
#!/bin/bash #阿里云初始安装MySQL #step1:查寻MariaDB 并卸载 MariaDB_filename=`rpm -qa|grep mariadb` if [ -d " ...
- java 单列集合总结
Collection 接口 add() remove() contains() clear(); size(); 迭代器遍历(普通迭代器,不能再遍历过程中修改集合的长度) List接口 单列集合 有序 ...
- day 7 while循环
#隐式布尔值: 0 none 空# 一.流程控制# 短路运算:偷懒原则,偷懒到哪个位置,就把当前位置的值返回# 为0# (10>3 and 10 and 0 and 10 )or( 10> ...
- Java实现 LeetCode 172 阶乘后的零
172. 阶乘后的零 给定一个整数 n,返回 n! 结果尾数中零的数量. 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零. 示例 2: 输入: 5 输出: 1 解释: 5! ...