Mybatis
简介
**

1.什么是Mybatis

**

MyBatis是一款优秀的基于java的持久层框架,它内部
封装了jdbc,使开发者只需要关注sql语句本身。

参考文档 :https://mybatis.org/mybatis-3/zh/index.html

2.持久化
数据持久化
·持久化就是将程序的数据在持久状态和瞬时状态转换的过程
·内存:断电即失
·数据库(jdbc),io文件持久化
·生活中遇到的持久化:买的肉放时间太长会坏,所以我们买的肉要放到冰箱里冷藏,等吃了在去解冻。

3.持久层
Dao层,Service层,Controller层…
·完成持久化工作的代码块
·层界十分明
CRUD

1.搭建环境

- [ ] 1.搭建数据库

CREATE DATABASE mybatis;USE mybatis;CREATE TABLE user(
id int(20) NOT NULL PRIMARY KEY,
name varchar(30) DEFAULT NULL,
pwd varchar(20) DEFAULT NULL
);INSERT INTO user(id,name,pwd) VALUES
(1,'李李李','123456'),
(2,'华晨宇','666666'),
(3,'苑苑苑','520520');

2.pom.xml
·新建一个普通的maven项目

·删除src目录

3.导入maven依赖 pom.xml

<dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.18</version></dependency>
</dependencies>

3.CRUD

4.创建一个模块

·编写mybatis的核心配置文件 mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/>  <!-- ?useSSL=false--><property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><mappers><mapper resource="UserDao.xml"/></mappers>
</configuration>

·编写mybatis工具类 MybatisUtils

public class MybatisUtils {//使用mybatis的第一步:获取sqlSessionFactory对象//    private static SqlSessionFactory factory = null;private static SqlSessionFactory sqlSession;static {try {//使用mybatis第一步、获取sqlSessionFactory对象String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);sqlSession = new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}public static SqlSession getSqlSession(){return sqlSession.openSession();}
}

编写代码

·实体类 User

import lombok.Data;@Data
public class User {private Integer id;private String name;private String pwd;public User() {}public User(Integer id, String name, String pwd) {this.id = id;this.name = name;this.pwd = pwd;}@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", pwd='" + pwd + '\'' +'}';}
}

·Dao接口 UserDao

//这个类操作对象的实体
package com.guohui.dao;
import com.guohui.pojo.User;
import java.util.List;public interface UserDao {//查询所有用户List<User> getUserList();//根据id查询用户User getUserById(int id);//添加一个用户int addUser(User user);//修改用户int updateUser(User user);//根据id删除用户int deleteUser(int id);
}

·接口实现类 UserDao.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--namespace=绑定对应的Dao/mapper接口-->
<mapper namespace="com.guohui.dao.UserDao"><!--select查询语句--><select id="getUserList" resultType="com.guohui.pojo.User">select * from user</select>
<!--    根据id查询用户--><select id="getUserById" parameterType="int" resultType="com.guohui.pojo.User">select * from user where id = #{id}</select>
<!--    添加一个用户--><insert id="addUser" parameterType="com.guohui.pojo.User">insert into user(id, name, pwd) values (#{id},#{name},#{pwd})</insert>
<!--    修改用户--><update id="updateUser" parameterType="com.guohui.pojo.User">update user set name=#{name},pwd=#{pwd} where id = #{id}</update>
<!--    删除用户--><delete id="deleteUser" parameterType="int">delete from user where id = #{id}</delete>
</mapper>

·测试.junit测试

public class MyTest {@Testpublic void test(){//查询全部用户//第一步:获得SqlSession对象SqlSession sqlSession = MybatisUtils.getSqlSession();//执行SQLUserDao mapper = sqlSession.getMapper(UserDao.class);List<User> userList = mapper.getUserList();for (User user : userList) {System.out.println(user);}//关闭SqlSessionsqlSession.close();}@Test//查询id用户public void test01(){//根据id查询用户SqlSession sqlSession = MybatisUtils.getSqlSession();UserDao mapper = sqlSession.getMapper(UserDao.class);//查询id为1 的用户User user = mapper.getUserById(1);System.out.println(user);sqlSession.close();}@Test//添加用户public void addUser(){//添加一个用户SqlSession sqlSession = MybatisUtils.getSqlSession();UserDao mapper = sqlSession.getMapper(UserDao.class);User user = new User(9,"苑雪儿","guohui520");int i = mapper.addUser(user);System.out.println("插入成功"+i);sqlSession.commit(); //提交事务,重点!不写的话不会提交到数据库sqlSession.close();}@Test//修改用户public void updateUser(){//添加一个用户SqlSession sqlSession = MybatisUtils.getSqlSession();UserDao mapper = sqlSession.getMapper(UserDao.class);mapper.updateUser(new User(5,"李国辉","520yuanxueer"));System.out.println("修改成功!");sqlSession.commit(); //提交事务,重点!不写的话不会提交到数据库sqlSession.close();}@Test//删除用户public void testDeleteUser() {SqlSession session = MybatisUtils.getSqlSession();UserDao mapper = session.getMapper(UserDao.class);int i = mapper.deleteUser(5);System.out.println(i);session.commit(); //提交事务,重点!不写的话不会提交到数据库session.close();}
}

谢谢观看,哪里写的有问题可以评论,随时在线修改。

mybatis增删改查快速实现!!!相关推荐

  1. Mybatis——增删改查(CRUD)操作

    java学习--Mybatis CRUD操作 mybatis是一个可以自定义SQL.存储过程和高级映射的持久层框架.上面这个定义是在百度上抄的,简单来说,Mybatis简化了我们对数据库的一系列操作, ...

  2. SSM框架——Mybatis增删改查

    目录 目录 环境配置 增删改查的实现 查询全部 查询单个ID 添加用户 修改用户 删除用户 增删改查-使用注解开发 思路流程:搭建环境-->导入Mybatis--->编写代码---> ...

  3. Mybatis增删改查

    增删改查基本上就是一个操作,一模一样的,首先是UserMpper接口: package com.ftz.Demo.dao;import com.ftz.Demo.po.User;import java ...

  4. Mybatis 详细的创建流程及创建第一个Mybatis增删改查程序 CRUD

    1.idea新建Maven项目Mybatis-study 将项目里的src文件夹删掉 依次将此项目作为父项目 2.在Mybatis-study中新建模块mybatis-01         在myba ...

  5. Mybatis——增删改查CLUD

    一.CRUD 1.namespace namespace中的包名和 Dao/Mapper 接口中的包名一致 2.select 选择查询语句: id:就是对应的namespace中的方法名: resul ...

  6. springboot整合mybatis增删改查(三):mybatis逆向工程

    上一篇已经把项目基本框架完善,接下来就是利用Mybatis Generator逆向工程进行mybatis的整合. 我们在创建项目开始的时候已经勾选web,mybatis,sql等,但是这些依赖还是不够 ...

  7. java 基础做增删改查教学_Java Mybatis 增删改查 简单使用 入门 简版

    一些基础问题的解决 数据库对应的表 初始数据 项目结构 pom.xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

  8. mybatis 增删改查、批量插入和删除以及自动生成uuid主键和分页

    Mapper接口: public int update(Admin admin); public Admin selectByUserName(String account); public List ...

  9. MyBatis 增删改查

    MyBatis 学习记录 MyBatis 特性 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果 ...

最新文章

  1. MySQL下载与安装教程以及环境变量配置
  2. Linux strace 跟踪进程信息
  3. 字符输出流的基本使用_写出单个字符到文件
  4. Confluence 6 在升级过程中查看合并日志
  5. scala 方法重载_Scala中的方法重载
  6. python3数字类型分为_Python初学3——数字类型及操作
  7. web前端工程师必须掌握的24条宝贵经验!
  8. linux6.5防火墙开端口,Linux(CentOS6.5) 开放端口,配置防火墙
  9. 一次没想好,第二次就要想到做好
  10. iOS FMDB有返回结果集和无返回结果集
  11. dh协议c语言代码,openssl开源程序dh算法解析之dh_ameth.c
  12. 南京大学计算机学院英才计划,2020年“英才计划”工作实施方案
  13. 将中文转化为GB2312编码
  14. C#解决串口数据丢失问题
  15. CIPS-3D 生成风格化的图像并控制人脸的姿势
  16. 微信开发中两种access_token的区别
  17. echarts自定义地图总结(VUE)
  18. 提升机器算法LightGBM(图解+理论+增量训练python代码+lightGBM调参方法)
  19. 在OpenCV里学习常见问题汇编27
  20. 沧海一粟小组(第一次作业)

热门文章

  1. mediawiki java_使用MediaWiki 1.16.0实现添加媒体向导
  2. Qt学习笔记之事件处理
  3. yolov3/tiny-yolov3训练和测试 python2/3
  4. 公司软件AiDitron中涉及的英文单词及含义
  5. BM22 比较版本号
  6. Jz2440 环境安装
  7. Wintel物联网平台-Windows IoT新手入门指南
  8. 倚天遇到屠龙:LightGBM VS xgboost谁才是最强的梯度提升库?
  9. 执行存储过程出现:不是有效的标识符。
  10. python 面向对象实现CNN(四)