MybatisPlus——入门案例

Posted 风陵南

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MybatisPlus——入门案例相关的知识,希望对你有一定的参考价值。

MyBatisPlus

  • MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率
  • 开发方式
    • 基于MyBatis使用MyBatisPlus
    • 基于Spring使用MyBatisPlus
    • 基于SpringBoot使用MyBatisPlus

 

  • SpringBoot整合MyBatis开发过程(复习)
    • 创建SpringBoot工程
    • 勾选配置使用的技术
    • 设置DataSource相关属性(JDBC参数)
    • 定义数据层接口映射配置
  • SpringBoot整合MyBatisPlus
    • 创建新模块,选择Spring初始化,并配置模块相关基础信息(只需勾选MySQL的依赖项)

    

    

    • 手动添加起步依赖
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>
    • 设置JDBC参数(application.yml)
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatisplus_db
    username: root
    password: 1234
    • 制作数据层实体类与表结构(user)
    • 定义数据接口继承BaseMapper<User>
@Mapper
public interface UserDao extends BaseMapper<User> 
    •  测试类中注入dao,测试功能
@SpringBootTest
class Mybatisplus01QuickstartApplicationTests 

    @Autowired
    private UserDao userDao;

    @Test
    void testUserDao() 
        System.out.println(userDao.selectList(null));
    

注意:

SpringBoot版本要使用2.5.0,否则会报无法注入UserDao错误

[MyBatisPlus]入门案例

入门案例

创建测试数据库和表

CREATE DATABASE `mybatis_plus` /*!40100 DEFAULT CHARACTER SET utf8mb4 */; 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;
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');

创建SpringBoot工程

引入依赖

<!--        mybatis plus 启动器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

<!--        lombok用于简化实体类开发-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>


<!--        mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

idea中安装lombok插件

配置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=utf- 8&useSSL=false
    username: root
    password: password

创建实体类

package com.xxxx.mybatisplus.pojo;


import lombok.*;

//@NoArgsConstructor
//@AllArgsConstructor
//@Getter
//@Setter
//@EqualsAndHashCode
@Data
public class User 

    // mybatis plus默认用雪花算法, id 会比较长
    private Long id;

    private String name;

    private Integer age;

    private String email;





添加mapper

package com.xxxx.mybatisplus.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xxxx.mybatisplus.pojo.User;


// 将类或者接口标记为持久层组件 这样就不会看见test类中的红线警告了 
@Repository
public interface UserMapper extends BaseMapper<User> 



在启动类上添加注解扫描mapper

package com.xxxx.mybatisplus;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

// 扫描mapper接口所在的包
@MapperScan("com.xxxx.mybatisplus.mapper")
public class MybatisplusApplication 

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



测试

package com.xxxx.mybatisplus;

import com.xxxx.mybatisplus.mapper.UserMapper;
import com.xxxx.mybatisplus.pojo.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
public class MyBatisPlusTest 

    @Autowired
    private UserMapper userMapper;


    @Test
    public void testSelectList()
    
        // 通过条件构造器查询一个list集合,若没有条件,则可以设置null为参数
        List<User> list = userMapper.selectList(null);
        list.forEach(System.out::println);
    



加入日志功能

加入配置

mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

以上是关于MybatisPlus——入门案例的主要内容,如果未能解决你的问题,请参考以下文章

MyBatisPlus

2022年还有人不会用MyBatisPlus吗?

基于MyBatisPlus完成标准Dao的增删改查功能

MyBatis-Plus入门教程及基本API使用案例

[Study]MyBatisPlus

MybatisPlus使用Wrapper实现查询功能