栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot整合MybatisPlus

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot整合MybatisPlus

会当凌绝顶,一览众山小

| @Author:TTODS

MyBatisPlus框架系列文章目录:
  • Springboot整合MybatisPlus(当前)

  • MyBatisPlus Mapper层的CRUD

  • MyBatisPlus Service层的CRUD

  • MyBatisPlus提供的分页功能

  • MyBatisPlus之字段填充

  • MyBatisPlus之逻辑删除

  • MyBatisPlus之乐观锁

  • MyBatisPlus之代码生成器(近期发布)


前言

工欲善其事,必先利其器。Mybatis-plus是一个MyBatis的增强工具,为简化开发、提高效率而生。
本文介绍了如何在springboot中使用MybatisPlus.

mybatis-plus 官网:https://baomidou.com/

项目创建及依赖导入

使用idea创建一个maven项目,在maven项目的pom.xml文件中添加如下依赖

 	
    
        spring-boot-starter-parent
        org.springframework.boot
        2.3.4.RELEASE
    

    
        
        
            com.baomidou
            mybatis-plus-boot-starter
            3.4.0
        
        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
        
            org.projectlombok
            lombok
        
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
创建数据库和测试表

在mybatisplus数据库中新建一个User表:

CREATE TABLE `mybatisplus`.`user`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户编号',
  `name` varchar(255) NULL COMMENT '姓名',
  `age` int(11) NULL COMMENT '年龄',
  `gender` tinyint(1) NULL COMMENT '性别 1:男 2:女',
  `email` varchar(50) NULL COMMENT '邮箱',
  PRIMARY KEY (`id`)
);

插入一些用于测试的数据:

INSERT INTO `user` VALUES (1, 'Alice', 15, 0, 'alice@gmail.com');
INSERT INTO `user` VALUES (2, 'Bob', 18, 1, 'bob@gmail.com');
INSERT INTO `user` VALUES (3, 'Colin', 12, 1, 'colin@gmail.com');
INSERT INTO `user` VALUES (4, 'David', 25, 1, 'david@gmail.com');
INSERT INTO `user` VALUES (5, 'Ellie ', 9, 0, 'ellie@gmail.com');

创建好后的User表如下图:

数据源配置

在**src/main/resources/**文件夹中新建springboot的配置文件application.yml,并添加数据源配置

spring:
  datasource:
    name: mybaitsplus
    url: jdbc:mysql://localhost:3306/mybatisplus?serverTimezone=Asia/Shanghai
    username: root
    password:
    driver-class-name: com.mysql.cj.jdbc.Driver
# 日志打印
logging:
  level:
    root: info
    com.example: debug
编写pojo实体类
package com.example.pojo;

import lombok.Data;

@Data
public class User {
    private Integer id;
    private String name;
    private Integer age;
    private Integer gender;
    private String email;
}

这里使用了lombok工具的@Data注解可以为User类自动生成setter、getter、toString、及构造器等方法。

编写Mapper接口

此接口应继承MybatisPlus提供的baseMapper接口,该接口是一个泛型接口,尖括号中就是对应的实体类的类型。在继承了baseMapper后,我们无需编写userMapper.xml文件,就可以实现基本的CURD.

package com.example.mapper;

import com.baomidou.mybatisplus.core.mapper.baseMapper;
import com.example.pojo.User;

public interface UserMapper extends baseMapper {
}

编写Springboot启动类

记得使用@MapperScan注解标明mapper类所在的包。

package com.example;

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

@SpringBootApplication
@MapperScan("com.example.mapper")
public class MainApplication {
    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class,args);
    }
}
编写测试类

创建一个测试类,来测试UserMapper的selectById方法,若运行成功,就说明mybatisplus与Springboot整合完成。

package com.example;

import com.example.mapper.UserMapper;
import com.example.pojo.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;
import java.util.List;

@SpringBootTest
@RunWith(SpringRunner.class)
public class MapperCurdTests {
    @Autowired
    UserMapper userMapper;

    @Test
    public void testSelect(){
        User user = userMapper.selectById(1);
        System.out.println(user);
    }
}

运行结果图:

值得注意的是使用@Autowired标注的Mapper类由于idea检测不到而被标红,实际上这并不影响运行。

强迫症玩家可以使用@Resource注解替换@Autowired注解或者给Mapper类加上@Repository注解。


下一篇:MyBatisPlus Mapper层的CRUD

- THE END -
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/349236.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号