Mybatis-plus学习笔记(一)快速开始

1.快速开始
2.代码生成器
3.CRUD接口——Service CRUD接口
4.CRUD接口——Mapper CRUD接口
5.条件构造器
6.分页插件
7.Sequence主键
8.自定义ID生成器
9.逻辑删除
10.乐观锁插件
11.自动填充

之前在看视频的时候稍微接触过Mybatis-plus,但是没有进过系统的学习,仅仅知道一些简单的功能。

不过,很早就听说过了Mybatis-plus是一个好东西,借用官网上的一句话来说明它的功能:
MyBatis-Plus(简称 MP)是一个MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

下面我写的所有东西都是在官网上学来的,官网地址是https://mybatis.plus/,建议大家在官网上学习,也可以看看我的,因为作为一名普通的大学生,我遇到的问题,你们也同样可能遇到,当你们在官网学习时遇到问题时,也可以尝试看一下我的代码和注释,看看我有没有合适的解决方式,为了更方便的找到代码,我会将目录设置的和官网一样。
目录:https://editor.csdn.net/md/

下面开始学习吧!

一、.环境和前置学习的基础

(如果没有的话,点击下方链接进行学习)

二、准备工作

2.1 新建一张表如图所示

在这里插入图片描述
2.2 建表代码如下:

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

2.3 数据如下

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

2.4 新建Springboot工程

选择File -> New -> Project -> Maven - > Next

在这里插入图片描述
输入项目名称,我这里使用的是“Mybatis_plus_demo” -> Finsh

下面爆红的原因是,在这个目录下有了这个文件(因为我之前新建过)

在这里插入图片描述
项目创建完成后,结构如图所示

加粗样式
在项目中添加所需要的的文件,最终的结构如下所示
在这里插入图片描述

在pom.xml中引入依赖:

首先引入 Spring Boot Starter 父工程:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.3.RELEASE</version>
    <relativePath/>
</parent>

然后引入spring-boot-starter、spring-boot-starter-test、mybatis-plus-boot-starter、lombok、mysql 依赖
(官网上数据库使用的是H2,我这里使用的是mysql)

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.0</version>
    </dependency>
    <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
</dependencies>

配置

在application.yml文件上添加mysql数据库的相关配置
(账号和密码修改为你自己的)

# mysql数据库连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=admit

这里可能会出现问题,这可能是由于mysql版本的不同而引起的

查看mysql版本
在这里插入图片描述

mysql8以上的使用我的配置就可以了,之下的版本使用下面的配置

# mysql数据库连接
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus
spring.datasource.username=root
spring.datasource.password=admit

Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹

@SpringBootApplication
@MapperScan("com.hk.mapper")
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

编写实体类 User.java(此处使用了 Lombok 简化代码)

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

编写Mapper类 UserMapper.java

public interface UserMapper extends BaseMapper<User> {
}

最后进行测试

@RunWith(SpringRunner.class)
@SpringBootTest
public class Test {

    @Autowired
    private UserMapper userMapper;

    @org.junit.Test
    public void testSelect() {
        System.out.println("———查询测试———");
        List<User> userList = userMapper.selectList(null);
        userList.forEach(System.out::println);
    }
}

UserMapper 中的 selectList() 方法的参数为 MP 内置的条件封装器 Wrapper,所以不填写就是无任何条件

输出结果如下所示

在这里插入图片描述

三、总结

我们可以从上面看出,你仅仅只是在UserMapper中继承了BaseMapper,然后就能够查询出数据,不需要你自己动手写service的方法,这件事Mybatis-plus帮你做了。

但 MyBatis-Plus 的强大远不止这些功能,想要详细了解 MyBatis-Plus 的强大功能?那就继续往下看吧!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值