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. 需要使用的第三方技术无法通过勾选确定时,需要手工添加坐标
相关文章
|
27天前
|
缓存 Java 数据库连接
深入探讨:Spring与MyBatis中的连接池与缓存机制
Spring 与 MyBatis 提供了强大的连接池和缓存机制,通过合理配置和使用这些机制,可以显著提升应用的性能和可扩展性。连接池通过复用数据库连接减少了连接创建和销毁的开销,而 MyBatis 的一级缓存和二级缓存则通过缓存查询结果减少了数据库访问次数。在实际应用中,结合具体的业务需求和系统架构,优化连接池和缓存的配置,是提升系统性能的重要手段。
44 4
|
27天前
|
SQL Java 数据库连接
spring和Mybatis的各种查询
Spring 和 MyBatis 的结合使得数据访问层的开发变得更加简洁和高效。通过以上各种查询操作的详细讲解,我们可以看到 MyBatis 在处理简单查询、条件查询、分页查询、联合查询和动态 SQL 查询方面的强大功能。熟练掌握这些操作,可以极大提升开发效率和代码质量。
43 3
|
1月前
|
Java 数据库连接 数据库
spring和Mybatis的逆向工程
通过本文的介绍,我们了解了如何使用Spring和MyBatis进行逆向工程,包括环境配置、MyBatis Generator配置、Spring和MyBatis整合以及业务逻辑的编写。逆向工程极大地提高了开发效率,减少了重复劳动,保证了代码的一致性和可维护性。希望这篇文章能帮助你在项目中高效地使用Spring和MyBatis。
26 1
|
2月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
151 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
2月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
81 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
2月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
558 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
2月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
276 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
2月前
|
SQL Java 数据库连接
mybatis使用二:springboot 整合 mybatis,创建开发环境
这篇文章介绍了如何在SpringBoot项目中整合Mybatis和MybatisGenerator,包括添加依赖、配置数据源、修改启动主类、编写Java代码,以及使用Postman进行接口测试。
30 0
mybatis使用二:springboot 整合 mybatis,创建开发环境
|
2月前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
171 1
|
2月前
|
前端开发 Java 数据库连接
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
本文是一份全面的表白墙/留言墙项目教程,使用SpringBoot + MyBatis技术栈和MySQL数据库开发,涵盖了项目前后端开发、数据库配置、代码实现和运行的详细步骤。
78 0
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学