第2章 集成 mybatis-plus

2.1 快速开始

在使用mybatis-plus之前,假设您已经:

  • 拥有 Java 开发环境以及相应 IDE
  • 熟悉 Spring Boot
  • 熟悉 Maven

2.2 创建测试表

--创建库
CREATE DATABASE mybatis_plus_test
--使用库
USE mybatis_plus_test
--创建表
DROP TABLE IF EXISTS student;

CREATE TABLE student
(
    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 '邮箱',
	gender CHAR(1) NULL DEFAULT NULL COMMENT '性别',
    PRIMARY KEY (id)
);
--插入测试数据
INSERT INTO student (id, name, age, email,gender) VALUES
(1, 'Jone', 18, 'Jone@qq.com',1),
(2, 'Jack', 20, 'Jack@qq.com',0),
(3, 'Tom', 28, 'Tom@qq.com',1),
(4, 'Sandy', 21, 'Sandy@qq.com',0),
(5, 'Billie', 24, 'Billie@qq.com',1);

2.3 初始化工程

 创建一个空的 Spring Boot 工程。可以使用 Spring Initializer  快速初始化一个 Spring Boot 工程

2.4 配置依赖

引入 Spring Boot Starter 父工程:

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

 或者是:

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

引入mysql、 mybatis-plus、spring-boot-starter-web、spring-boot-starter-test等依赖:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.0</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.8</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
</dependency>

2.5程序配置

 在 application.yml 配置文件中添加 H2 数据库的相关配置:

server:
  port: 9090
spring:
  application:
    name: mbpt
  datasource:
    #   数据源基本配置
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/mybatis_plus_test
    type: com.alibaba.druid.pool.DruidDataSource

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

@Slf4j
@MapperScan(basePackages = "com.demo.case.mapper")
@SpringBootApplication
public class SpringBoot11MybatisPlusApplication {

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

}

2.5 创建对应的实体

使用mybatisX或EasyCode生成对应的代码

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

编写 Mapper 类 UserMapper.java(由于使用插件生成代码,在生成时已自动对应mapper、service)

public interface StudentMapper extends BaseMapper<Student> {

}

 2.6 开始使用

@SpringBootTest
class SpringBoot11MybatisPlusApplicationTests {

    @Autowired
    private StudentMapper studentMapper;

    @Test
    void contextLoads() {
        List<Student> students = studentMapper.selectList(null);
        Assert.assertEquals(5, students.size());
        students.forEach(System.out::println);
    }

}

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

控制台输出:

Student(id=1, name=Jone, age=18, email=Jone@qq.com, gender=1)
Student(id=2, name=Jack, age=20, email=Jack@qq.com, gender=0)
Student(id=3, name=Tom, age=28, email=Tom@qq.com, gender=1)
Student(id=4, name=Sandy, age=21, email=Sandy@qq.com, gender=0)
Student(id=5, name=Billie, age=24, email=Billie@qq.com, gender=1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值