zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

Mybatis-Plus学习(一):实现增删改查CRUD

2023-03-14 22:38:57 时间

首先贴一个官网网址:MyBatis-Plus,学习mybatis一定要跟着官方文档来。

mybatis-plus的作用:基友搭配,效率翻倍


2021092517034591.png



说下实现简单增删改查的步骤:


1、创建一个springboot工程



官网是这样说的:


20210925170535965.png20210925170444998.png


2、添加依赖



20210925170620708.png20210925170640168.png


 pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.shang</groupId>
    <artifactId>mybatis_plus</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>mybatis_plus</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
 
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
 
 
 
        <!-- 数据库驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!-- mybatis-plus --> <!-- mybatis-plus 是自己开发,并非官方的! -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.3</version>
        </dependency>
 
    </dependencies>
 
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
 
</project>


3、配置



20210925170748273.png


官网使用的是yaml文件,我们使用properties文件也可以

application.properties:

spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver


启动类:

package com.shang;
 
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
 
@MapperScan("com.shang.mapper")
@SpringBootApplication
public class MybatisPlusApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(MybatisPlusApplication.class, args);
    }
 
}


4、创建数据库、实体类和mapper



2021092517114121.png


创建数据库,我的数据库名为mybatis_plus,表名为user

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');



查询一下,有数据:


2021092517153554.png20210925171002350.png


User类: 


package com.shang.pojo;
 
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
 
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}


UserMapper:

package com.shang.mapper;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.shang.pojo.User;
import org.springframework.stereotype.Repository;
 
//在对应的mapper上实现BaseMapper即可
@Repository     //代表持久层
public interface UserMapper extends BaseMapper<User> {
}


自此就实现了CRUD功能。我们来测试一下:

package com.shang;
 
import com.shang.mapper.UserMapper;
import com.shang.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
 
import java.util.List;
 
@SpringBootTest
class MybatisPlusApplicationTests {
 
    @Autowired
    private UserMapper userMapper;
 
    @Test
    void contextLoads() {
        List<User> users = userMapper.selectList(null);
        users.forEach(System.out::println);
    }
 
}


在测试类中自动注入userMapper,其实,在代码提示中,我们就已经能看出,许多CRUD方法已经全部在里面了


20210925171835570.png


运行起来:

20210925171934834.png


能够查询到数据

       

可以看出,使用mybatis-plus,只需要编写实体类和mapper接口,就可以实现对数据库的增删改查了。