MybatisPlus实现简单增删改查功能
作者:''''Beyond'''' 发布时间:2021-12-27 06:25:21
标签:MybatisPlus,增删,改查
实现步骤:
工具:IDEA
数据库版本:mysql5.7
一、环境搭建
1.创建springboot项目
pom.xml
2.pom.xml : spring web、lombok mysql
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
3.添加mybatisplus依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
application.properties
4.application.properties配置文件:用户名、密码、连接驱动、配置日志
注意:mysql8 需要增加时区的配置 serverTimezone=GMT%2B8 东八区
#mysql5 驱动不同
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/mybatisplus?useSSL=false&useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#配置日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
数据库数据
#建表
DROP TABLE IF EXISTS user;
CREATE TABLE user
(
id BIGINT(20) NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
age INT(11) NULL DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
);
#插入数据
DELETE FROM user;
INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');
代码详解
1.新建实体类User
lombok注解详解:
@Data:自动生成get\set方法
@AllArgsConstructor :有参方法
@NoArgsConstructor:无参方法
@TableId(value = “id”,type = IdType.AUTO) :给实体设置自增
package com.sh.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.context.annotation.Primary;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
private String name;
private Integer age;
private String email;
private Date createTime;
private Date updateTime;
}
2. 新建mapper包
在mapper包里建UserMappe接口r 继承BaseMapper<实体类>
package com.sh.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sh.entity.User;
import org.springframework.stereotype.Repository;
@Repository
public interface UserMapper extends BaseMapper<User> {
}
3.创建控制层controller:
新建UserController类
package com.sh.controller;
import com.sh.entity.User;
import com.sh.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
//查询 查询所以 null 就是没有条件
@GetMapping("/selectUser")
public List<User> getAll(){
List<User> user = userMapper.selectList(null);
return user;
}
//根据id查询
@GetMapping("/selectById")
public User selectUserById(){
User user = userMapper.selectById(1);
return user;
}
//根据多个id查询 Arrays.asList集合
@GetMapping("/selectByIds")
public List<User> selectUserByIds(){
List<User> user = userMapper.selectBatchIds(Arrays.asList(1,2,3));
return user;
}
//添加
@PostMapping("/insertUser")
public Integer insertUsers(User user){
Integer result = userMapper.insert(user);
return result;
}
//修改 根据id
@PutMapping("/updateUser")
public Integer updateUsers(User user){
Integer result = userMapper.updateById(user);
return result;
}
//删除 根据id
@DeleteMapping("/deleteUser")
public Integer deleteUsers(Integer id){
Integer result = userMapper.deleteById(id);
return result;
}
}
项目结构
注意:添加,修改操作需要数据库和实体设置自增
来源:https://blog.csdn.net/Beyonod/article/details/115318914


猜你喜欢
- 前言:本质上来说,CoreCLR 也是 C++ 写的,所以也逃不过用 虚表 来实现多态的玩法, 不过玩法也稍微复杂了一些,希望本篇对大家有帮
- 工欲善其事,必先利其器很多程序员可能都忘了记录应用程序的行为是一件多么重要的事,当遇到多线程环境下高压力导致的并发bug时,你就能体会到记录
- 一个专门实现访问sql server数据库增删改查的操作代码,分享给大家,具体内容如下using System;using System.C
- 理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣。Proxy是比较有用途的一种模式
- 前言:sleep 方法和 wait 方法都是用来将线程进入休眠状态的,并且 sleep 和 wait 方法都可以响应 interrupt 中
- C#开发,收到下位机串口数据(温度信息),可能是正数也可能是负数,如何转换?第一反应是想起书本上的理论,无符号数表示范围是多少到多少,有符号
- 前言研究表明,Java堆中对象占据最大比重的就是字符串对象,所以弄清楚字符串知识很重要,本文主要重点聊聊字符串常量池。Java中的字符串常量
- 本文实例为大家分享了android通过servlet上传文件到服务器的具体代码,供大家参考,具体内容如下服务器端:部署在Tomcat上,直接
- 单点登录概念单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系
- 1、注意事项众所周知,对一个文件进行读写操作时,我们需要创建对应的输入流和输出流但需要注意的是,读写操作不能同时进行(边读边写),即不能同时
- 首先是按行读取字符串import java.io.BufferedReader;import java.io.File;import jav
- 添加方法:选择项目->引用->右击“添加引用”->选择COM 找到上面组件—>点击“确定”。实现代码如下: 
- Java中如何输出像1-2-3-4-5 这样的字符抱歉对于这个问题我甚至不能想到一个合适的标题,但是不重要 以下操作基于 jdk 1.8St
- 在移动支付领域,支付宝支付占用巨大份额,根据艾瑞咨询公布的报告数据:2014Q3,支付宝斩
- 前言关于ThreadLocal (线程本地存储),从字面意思上看主要是存储一些本地变量,使它们能在一个线程内共用,与其他的线程进行数据隔离,
- Java中的wait/notify/notifyAll可用来实现线程间通信,是Object类的方法,这三个方法都是native方法,是平台相
- mybatis-plus今天遇到一个问题,就是mybatis 没有读取到mapper.xml 文件。特此记录一下,问题如下:at com.b
- file.mkdir()创建单级文件夹,file.mkdirs()创建多级文件夹,file.createNewFile()创建的是一个文件。
- 前言我们在上一篇文章 中以实例讲解如何定义和使用 lambda 表达式,以及与其它语言相比,lambda 表达式在 Java 中的特殊规范。
- 前言笔者因为项目需要自定义相机,所以了解了一下 Android 关于 camera 这块的 API。Android SDK 21(LOLLI