• MybatisPlus【SpringBoot】 2 入门案例


    MybatisPlus【SpringBoot】

    【【尚硅谷】2022版MyBatisPlus教程(一套玩转mybatis-plus)】

    2 入门案例

    2.1 开发环境
    • IDE:IDEA 2022.2.2

      在这里插入图片描述

    • JDK:JDK8+

      在这里插入图片描述

    • 构建工具:Maven 3.8.6

      在这里插入图片描述

    • MySQL 版本:MySQL5.7.38

      在这里插入图片描述

    • SpringBoot:2.3.7.RELEASE

      在这里插入图片描述

    • Mybatis-Plus:官方最新版3.5.2

      在这里插入图片描述

    2.2 创建数据库及表
    2.2.1 创建表
    create database `mybatis_plus`;
    
    use `mybatis_plus`;
    
    create table `user` (
    	`id` bigint ( 20 ) not null comment '主键ID',
    	`name` varchar ( 30 ) default null comment '姓名',
    	`age` int ( 11 ) default null comment '年龄',
    	`email` VARCHAR ( 50 ) default null comment '邮箱',
    primary key ( `id` ) 
    ) engine = innodb default CHARSET = utf8;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    2.2.2 添加数据
    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');
    
    select * from user;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    2.3 创建SpringBoot 工程
    2.3.1 初始化工程

    使用 Spring Initializr 快速初始化一个 Spring Boot 工程

    在这里插入图片描述

    依赖不勾

    在这里插入图片描述

    Create

    在这里插入图片描述

    一个全新的Springboot 工程

    2.3.2 引入依赖
    
    <dependency>
        <groupId>com.baomidougroupId>
        <artifactId>mybatis-plus-boot-starterartifactId>
        <version>3.5.2version>
    dependency>
    
    
    <dependency>
        <groupId>org.projectlombokgroupId>
        <artifactId>lombokartifactId>
        <optional>trueoptional>
    dependency>
    
    
    <dependency>
        <groupId>mysqlgroupId>
        <artifactId>mysql-connector-javaartifactId>
        <scope>runtimescope>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    在这里插入图片描述

    2.3.3 IDEA 中安装lombok 插件

    在这里插入图片描述

    2.4 编写代码
    2.4.1 配置application.yml
    spring:
      # 配置数据源信息
      datasource:
        # 配置数据源类型
        type: com.zaxxer.hikari.HikariDataSource
        # 配置连接数据库信息
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=UTC&characterEncoding=utf8&useSSL=false
        username: root
        password: 200039
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    【注意】

    1 驱动类driver-class-name

    • spring boot 2.0(内置jdbc5驱动),驱动类使用:

      driver-class-name: com.mysql.jdbc.Driver

    • spring boot 2.1及以上(内置jdbc8驱动),驱动类使用:

      driver-class-name: com.mysql.cj.jdbc.Driver

    【否则运行测试用例会有WARN 信息】

    2 连接地址URL

    MySQL5.7版本的url:jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=UTC&characterEncoding=utf8&useSSL=false

    MySQL8.0版本的url:jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false

    否则运行测试用例报告如下错误:

    java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more

    2.4.2 启动类

    在Spring Boot启动类中添加@MapperScan注解,扫描mapper包:

    package com.dingjiaxiong.mybatisplus;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    @MapperScan("com.dingjiaxiong.mybatisplus.mapper")
    public class MybatisPlusDemoApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(MybatisPlusDemoApplication.class, args);
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述

    2.4.3 添加实体
    package com.dingjiaxiong.mybatisplus.domain;
    
    import lombok.Data;
    
    /**
     * ClassName: User
     * date: 2022/10/12 19:38
     *
     * @author DingJiaxiong
     */
    
    @Data
    public class User {
        private Long id;
        private String name;
        private Integer age;
        private String email;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    User类编译之后的结果:

    在这里插入图片描述

    2.4.4 添加mapper

    BaseMapper是MyBatis-Plus提供的模板mapper,其中包含了基本的CRUD方法,泛型为操作的
    实体类型

    package com.dingjiaxiong.mybatisplus.mapper;
    
    import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    import com.dingjiaxiong.mybatisplus.domain.User;
    
    /**
     * ClassName: UserMapper
     * date: 2022/10/12 19:39
     *
     * @author DingJiaxiong
     */
    
    public interface UserMapper extends BaseMapper<User> {
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

    2.4.5 测试
    package com.dingjiaxiong.mybatisplus;
    
    import com.dingjiaxiong.mybatisplus.mapper.UserMapper;
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    
    @SpringBootTest
    class MybatisPlusDemoApplicationTests {
        
        @Autowired
        private UserMapper userMapper;
        
        @Test
        public void testSelectList(){
            userMapper.selectList(null).forEach(System.out::println);
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    结果:

    在这里插入图片描述

    OK

    IDEA在 userMapper 处报错,

    在这里插入图片描述

    因为找不到注入的对象,因为类是动态创建的,但是程序可以正确
    的执行。
    为了避免报错,可以在mapper接口上添加 @Repository 注解

    在这里插入图片描述

    2.4.6 添加日志

    在application.yml中配置日志输出

    # 配置mybatis 日志
    mybatis-plus:
      configuration:
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    OK。

  • 相关阅读:
    java毕业设计体育论坛网站源码+lw文档+mybatis+系统+mysql数据库+调试
    ttkefu客服系统的优势及应用领域
    Java毕业设计 JSP+MySQL幼儿园信息管理系统
    NEON优化:关于交叉存取与反向交叉存取
    2024.08.07校招 实习 内推 面经
    含文档+PPT+源码等]精品基于Uniapp+SSM实现的android在线点单系统APP[包运行成功]Java毕业设计Android项目源码
    Spring security 自定义的AccessDeniedHandler无效,抛出AccessDeniedException 不允许访问
    Rliger | 完美整合单细胞测序数据(部分交集数据的整合)(三)
    1452_TC275 DataSheet阅读笔记13_供电
    Linux 基础篇(CentOS)
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/127440122