SpringBoot 整合 MyBatis-Plus

简介: SpringBoot 整合 MyBatis-Plus,超详细史上最全。MyBatisX插件的安装与使用。

前言

  整合MyBaitsPlus(简称MP),是在MyBatis的基础上再升级一下,国人开发的技术,符合中国人开发习惯,谁用谁知道,这里 有我整理的 SpringBoot 整合 MyBatis 的详细步骤 。

SpringBoot 整合是十分便捷的,整合究竟核心如下:

  • 导入对应技术的starter坐标
  • 根据对应技术的要求做配置

1、导入对应的starter

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3</version></dependency>

2、starter写法

starter所属 命名规则 示例
官方提供 spring-boot-starter-技术名称 spring-boot-starter-web spring-boot-starter-test
第三方提供 第三方技术名称-spring-boot-starter druid-spring-boot-starter
第三方提供 第三方技术名称-boot-starter(第三方技术名称过长,简化命名) mybatis-plus-boot-starter

3、配置数据源相关信息

#2.配置相关信息spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/mpusername: rootpassword: rootmybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl#日志实现类-->打印sql

4、映射接口(Mapper)

publicinterfaceUserMapperextendsBaseMapper<User> {
}

  核心在于Dao接口继承了一个BaseMapper的接口,这个接口中帮助开发者预定了若干个常用的API接口,简化了通用API接口的开发工作。

image-20211129100313919.png

5、测试类

@Testvoidselect() {
//1、查询所有,不加条件去查询userMapper.selectList(null).forEach(System.out::println);       //forEach遍历打印//2、查询所有,加条件去查询//2.1、new QueryWrapperQueryWrapperqueryWrapper1=newQueryWrapper();
//2.2、设置条件queryWrapper1.eq("age", 20);
/*** lt           #小于* gt       #大于* ne       #不等于* eq       #等于* le           #小于等于* ge       #大于等于* between      #between* like like    模糊查询        #likeLeft 左模糊  likeRight 右模糊* isNull* isNotNull* in                         #inSql in sql语句* notIn* orderBy                  #排序 ASC DESC 升序降序* orderByDesc*/userMapper.selectList(queryWrapper1).forEach(System.out::println);
//3、多条件去查询QueryWrapperqueryWrapper2=newQueryWrapper();
//3.1、设置多条件Map<String,Object>map=newHashMap<>();
map.put("age",20);
map.put("name","张三");
//3.2、map放进queryWrapperqueryWrapper2.allEq(map);
//byIdUseruser=userMapper.selectById(1);
System.out.println(user);
//byBatchIdsuserMapper.selectBatchIds(Arrays.asList(1,2,3)).forEach(System.out::println);       //Arrays.asList(1,2,3)是一个数组,把数组转换成list集合//通过map条件查询//map只能是一个条件,不能是多个条件Map<String,Object>map1=newHashMap<>();
map1.put("age",20);
map1.put("name","张三");
userMapper.selectByMap(map).forEach(System.out::println);
//4、分组查询QueryWrapperqueryWrapper3=newQueryWrapper();
queryWrapper3.gt("age",20);
System.out.println(userMapper.selectCount(queryWrapper3));
//将查询结果放入map中userMapper.selectMaps(queryWrapper1).forEach(System.out::println);
//分页查询//1、配置类paginationInterceptor//2、设置分页参数Page<User>page=newPage<>(1,3);      //当前页,每页显示条数2Page<User>userPage=userMapper.selectPage(page, null);//分页参数,查询条件System.out.println(userPage.getCurrent());      //当前页System.out.println(userPage.getSize());     //每页显示条数userPage.getRecords().forEach(System.out::println);     //查询结果//封装到map中Page<Map<String,Object>>mapPage=newPage<>(1,3);     //分页参数,查询条件userMapper.selectMapsPage(mapPage, null).getRecords().forEach(System.out::println);     //查询结果//查询所有,只输出iduserMapper.selectObjs(null).forEach(System.out::println);     //查询结果//查询一个System.out.println(userMapper.selectOne(null));     //查询结果    }

6、表的通用前缀配置

mybatis-plus:
global-config:
db-config:
table-prefix: tb_#设置所有表的通用前缀名称为tbl_

7、MybatisX 快速开发插件

MybatisX 是一款基于 IDEA 的快速开发插件,为效率而生。

  • 安装方法:打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入 mybatisx 搜索并安装。
  • 功能:
  • Java 与 XML 调回跳转
  • Mapper 方法自动生成 XML

总结

  1. 手工添加MyBatis-Plus对应的starter
  2. 数据层接口使用BaseMapper简化开发
  3. 需要使用的第三方技术无法通过勾选确定时,需要手工添加坐标
相关文章
|
24天前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
71 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
24天前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
39 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
1月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
216 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
23天前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
35 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
24天前
|
SQL Java 数据库连接
mybatis使用二:springboot 整合 mybatis,创建开发环境
这篇文章介绍了如何在SpringBoot项目中整合Mybatis和MybatisGenerator,包括添加依赖、配置数据源、修改启动主类、编写Java代码,以及使用Postman进行接口测试。
14 0
mybatis使用二:springboot 整合 mybatis,创建开发环境
|
25天前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
|
1月前
|
前端开发 Java 数据库连接
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
本文是一份全面的表白墙/留言墙项目教程,使用SpringBoot + MyBatis技术栈和MySQL数据库开发,涵盖了项目前后端开发、数据库配置、代码实现和运行的详细步骤。
35 0
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
|
1月前
|
Java 数据库连接 mybatis
Springboot整合Mybatis,MybatisPlus源码分析,自动装配实现包扫描源码
该文档详细介绍了如何在Springboot Web项目中整合Mybatis,包括添加依赖、使用`@MapperScan`注解配置包扫描路径等步骤。若未使用`@MapperScan`,系统会自动扫描加了`@Mapper`注解的接口;若使用了`@MapperScan`,则按指定路径扫描。文档还深入分析了相关源码,解释了不同情况下的扫描逻辑与优先级,帮助理解Mybatis在Springboot项目中的自动配置机制。
101 0
Springboot整合Mybatis,MybatisPlus源码分析,自动装配实现包扫描源码
|
2月前
|
XML Java 关系型数据库
springboot 集成 mybatis-plus 代码生成器
本文介绍了如何在Spring Boot项目中集成MyBatis-Plus代码生成器,包括导入相关依赖坐标、配置快速代码生成器以及自定义代码生成器模板的步骤和代码示例,旨在提高开发效率,快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。
springboot 集成 mybatis-plus 代码生成器
|
2月前
|
SQL XML Java
springboot整合mybatis-plus及mybatis-plus分页插件的使用
这篇文章介绍了如何在Spring Boot项目中整合MyBatis-Plus及其分页插件,包括依赖引入、配置文件编写、SQL表创建、Mapper层、Service层、Controller层的创建,以及分页插件的使用和数据展示HTML页面的编写。
springboot整合mybatis-plus及mybatis-plus分页插件的使用