springboot+mybatis-plus实例demo

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: springboot+mybatis-plus实例demo


前言

故事还得从一次微信通话说起……

一个夜深人静的晚上,正在电脑前看书,突然,放在旁边的手机响了起来,原来是一个朋友打的微信电话。

“你在干嘛呢?”

“看书呢,咋啦?”

“看的啥书?学习吗?”

“没有,再看一个暗访纪实,挺不错的,你也可以去看看。”

“嗯嗯,我以为你在看学习的书呢,对了,你的springboot看的怎么样了,我们公司现在准备转框架。”

“还可以吧,准备写个项目,解决了好多好多bug。”

“那好啊,解决bug,能快速的得到提升。对了,你可以去看看mybatis-plus,我们公司下一步就用它……”

于是早上起来,我就打开电脑去看了看,不紧不慢写了个demo,发现是真的还用啊。

下面我们来快速的写个springboot+mybatis-plus的demo测试测试。

Mybatis-plus的官网在这,大家可以去看看:https://mp.baomidou.com/guide/

Mybatis-plus简称MP,是一个mybatis的增强工具,注意增强二字,说明它并没有对mybatis改变,而是在其原有的基础上进行了增强。

官方总结了下mybatis-plus的特性,在这里贴出来给大家看看,如果想了解更多请移步至官网。

接下来我们就快速创建个springboot+mybatis-plus的demo吧,感受一下mybatis-plus的特别之处!

在mysql数据库中创建User表

表结构如下:

创建表的sql如下:

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

01

创建springboot项目

关于如何创建于部署springboot项目,大家可以看这里:

快速搭建Springboot项目的两种方式!!

简化springboot部署,太灵活方便了!

如下是我新创建好的springboot的项目目录结构

然后需要在pom文件中添加mybatis-plus-boot-starter和lombox的依赖,代码如下:

<!--mybaits-plus的依赖-->
        <dependency>
            <groupId>com.pig4cloud</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.2.0</version>
        </dependency>
        <!--lombok的依赖-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.20</version>
            <scope>provided</scope>
        </dependency>

02

编写底层代码

在com.xiongxiong.mpdemo包下面新建package,命名为entity,在包内创建实体类User,我们在这使用的是lombox简化代码(加上@Data注解即可):

package com.xiongxiong.mpdemo.entity;
import lombok.Data;
@Data           //使用lombok简化代码
/**
 * 实体类
 */
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
    public User() {
    }
    public User(Long id, String name, Integer age, String email) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.email = email;
    }
}

在com.xiongxiong.mpdemo包下面新建package,命名为dao,在包内创建接口

UserMapper,代码如下:

package com.xiongxiong.mpdemo.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xiongxiong.mpdemo.entity.User;
import org.springframework.stereotype.Repository;
/**
 * Mapper层
 */
@Repository
public interface UserMapper extends BaseMapper<User> {
}

注意,该接口继承至mybatis-plus的BaseMapper类,里面啥都不用写。

03

配置application.yml

在该yml文件中,我们需要配置mysql的驱动,连接以及用户名和密码,代码如下:

# DataSource Config
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/schooldb?useUnicode=true&characterEncoding=utf-8
    username: root
    password: root

在springboot的启动类中加入扫描mapper文件的注解,如下:

04

测试demo

现在我们就可以去写个测试类进行测试了,我们就先来测试个查询全部数据功能。打开src/test/java/com.xiongxiong.mpdemo的MpdemoApplicationTests类,我们直接在contextLoads()方法中,写查询的代码:

package com.xiongxiong.mpdemo;
import com.xiongxiong.mpdemo.dao.UserMapper;
import com.xiongxiong.mpdemo.entity.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 MpdemoApplicationTests {
    @Autowired
    private UserMapper userMapper;
    @Test
    void contextLoads() {
        List<User> userList = userMapper.selectList(null);
        userList.forEach(System.out::println);
    }
}

运行结果如下:

以上就是mybatis-plus的demo,你明白了吗?


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
9天前
|
算法 Java 数据库连接
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档
Spring+MySQL+数据结构+集合,Alibaba珍藏版mybatis手写文档
|
1天前
|
Java 关系型数据库 数据库连接
MyBatis-Plus介绍及Spring Boot 3集成指南
MyBatis-Plus是一个MyBatis扩展工具,旨在简化Java开发中的CRUD操作。它具有无侵入性、低损耗、强大的CRUD功能、Lambda表达式支持、主键自动生成、ActiveRecord模式、全局操作和内置代码生成器等特点。在Spring Boot 3中集成MyBatis-Plus,需在pom.xml添加依赖,排除特定版本的mybatis-spring,并用@MapperScan注解指定Mapper接口路径。此外,还介绍了如何使用MyBatis-Plus代码生成器自动生成Mapper、Model、Service和Controller层代码,以加速开发。
34 2
MyBatis-Plus介绍及Spring Boot 3集成指南
|
1天前
|
SQL Java 关系型数据库
基于SpringBoot使用MyBatisPlus,MyBatisPlus标准数据层开发(CRUD)、MyBatisPlus分页功能的使用
基于SpringBoot使用MyBatisPlus,MyBatisPlus标准数据层开发(CRUD)、MyBatisPlus分页功能的使用
10 2
|
1天前
|
Java 关系型数据库 MySQL
SpringBoot整合JUnit、MyBatis、SSM
SpringBoot整合JUnit、MyBatis、SSM
11 4
|
1天前
|
Java 数据库连接 数据库
Spring整合Mybatis、Spring整合JUnit
Spring整合Mybatis、Spring整合JUnit
10 1
Spring整合Mybatis、Spring整合JUnit
|
1天前
|
SQL Java 数据库连接
1天搞定SpringBoot+Vue全栈开发 (3)MybatisPlus(数据库操作)
1天搞定SpringBoot+Vue全栈开发 (3)MybatisPlus(数据库操作)
|
3天前
|
Java 数据库连接 数据库
小唐开始学 Spring Boot——(3)利用mybatis访问数据表
小唐开始学 Spring Boot——(3)利用mybatis访问数据表
|
11天前
|
JSON Java 数据格式
nbcio-boot升级springboot、mybatis-plus和JSQLParser后的LocalDateTime日期json问题
nbcio-boot升级springboot、mybatis-plus和JSQLParser后的LocalDateTime日期json问题
14 0
|
1天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的在线考试系统附带文章和源代码
基于SpringBoot+Vue的在线考试系统附带文章和源代码
7 1
|
1天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的大创管理系统附带文章和源代码
基于SpringBoot+Vue的大创管理系统附带文章和源代码
6 0