zoukankan      html  css  js  c++  java
  • 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,你明白了吗?

    往期精彩

    springboot访问jsp页面变成直接下载?

    2021-03-02

    springboot+springm vc+mybatis实现增删改查案例!

    2021-03-01

    springboot中配置mybatis别名该怎么写?

    2021-02-28

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

    2021-02-27

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

    2021-02-26

    点分享

    点点赞

    点在看

  • 相关阅读:
    音频player
    重要 sdl音最简
    sdl win 播放video hello--
    linux里helloworld
    0129 总结Cygwin要用这个,不要用mingw,根本下不下来
    转音视频重要
    Gradle项目无法下载jar包 修改 插件下载地址plugins.gradle.org

    开源gradle**all.zip下载慢问题
    [Effective Java] 第1条 考虑用静态工厂方法代替构造函数
  • 原文地址:https://www.cnblogs.com/a1111/p/14877300.html
Copyright © 2011-2022 走看看