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
0
投稿
猜你喜欢
- 这篇文章主要介绍了JAVA如何按字节截取字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参
- 在android开发中,经常会遇到一个view需要它能够支持滑动的需求。下面通过本篇文章给大家介绍android view移动的六种方法。l
- 文件数据流在java语言中,进行文件输入和输出时,经常会使用到FileIntputStream和FileOutputStream两个文件数据
- Bean:在Spring技术中是基于组件的最基本了是最常用的单元其实实例保存在Spring的容器当中Bean通常被定义在配置文件当中,Bea
- 在使用SpringSecurity中,大伙都知道默认的登录数据是通过key/value的形式来传递的,默认情况下不支持JSON格式的登录数据
- Lombok有什么用在我们实体Bean中有大量的Getter/Setter方法以及toString, hashCode等可能不会用到,但是某
- 一个中大型的 Java 项目往往包含若干 JAR 包,这些 JAR 包有着不同的版本号。如果这些 JAR 包单独发布,然后直接通过版本号引用
- 通常同步意味着一个任务的某个处理过程会对多个线程在用串行化处理,而
- 1.Java 9以前堆栈遍历到目前为止,官方解决方案是获取当前线程并调用其getStackTrace()方法:StackTraceEleme
- 前言由于业务需要,后端需要返回一个树型结构给前端,包含父子节点的数据已经在数据库中存储好,现在需要做的是如何以树型结构的形式返给给前端。数据
- Timer 详解Timer 和 TimerTask 用于在后台线程中调度任务的 java.
- ActiveMQ是什么ActiveMQ是消息队列技术,为解决高并发问题而生ActiveMQ生产者消费者模型(生产者和消费者可以跨平台、跨系统
- Java NIO(New IO)是Java 1.4版本中引入的一套全新的IO处理机制,与之前的传统IO相比,NIO具有更高的可扩展性和灵活性
- 本文以实例形式简单讲述了C#观察者模式,分享给大家供大家参考。具体实现方法如下:现在假设有一个软件公司,每当有新产品推出,就把信息通知到一些
- 发现问题肯定有人发现连接mysql失败,然后又找不到问题所在,又出现一大最报错,如下图。解决过程 1.先查询自己的java版本,在
- Elastic Search是一个开源的,分布式,实时搜索和分析引擎。Spring Boot为Elasticsearch及Spring Da
- 近期用到了一位师兄写的C++程序,总体功能良好。使用不同的数据测试,发现了一个明显的缺点:大数据量下,预处理过程耗时很长。中科院的某计算集群
- package cn.response;import java.awt.Color;import java.awt.Font;import
- 访问控制:private 私有的protected 受保护的public 公共的类、方法和变量修饰符abstract 声明抽象class 类
- Spring容器可以自动装配相互协作bean之间的关系,这有助于减少对XML配置,而无需编写一个大的基于Spring应用程序的较多的<