springboot快速集成mybatis-plus的详细教程

简介
Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网。那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA。

springBoot快速集成mybatis-plus

一、pom文件引入mybatis-plus依赖

 <dependencies>
  <!--web-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <!--lombok-->
  <dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <optional>true</optional>
  </dependency>
  <!--mysql驱动-->
  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.25</version>
  </dependency>
  <!--mybatis-plus-->
  <dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-boot-starter</artifactId>
   <version>3.1.0</version>
  </dependency>
  <!---test-->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
 </dependencies>

注: 这里最主要的是mybatis-plus-boot-starter依赖,其他依赖都是基本的

二、基础配置 application.properties

#mysql数据库
spring.datasource.url= jdbc:mysql://127.0.0.1:3306/springbootdemo?characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8
spring.datasource.username= root
spring.datasource.password= 111111
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#mybatis
#开启驼峰
mybatis.configuration.map-underscore-to-camel-case=true
#打印日志
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

#mybatis-plus配置
mybatis-plus.mapper-locations=classpath*:/mappers/*.xml
#主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
mybatis-plus.global-config.id-type=0
#字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
mybatis-plus.global-config.field-strategy= 1
#驼峰下划线转换
mybatis-plus.global-config.db-column-underline=true

三、MybatisPlusConfig

/**
 * MybatisPlus配置类
 */
@EnableTransactionManagement
@Configuration
@MapperScan(basePackages = "com.example.demo.mapper")
public class MybatisPlusConfig {

 /**
  * 分页插件
  */
 @Bean
 public PaginationInterceptor paginationInterceptor() {
  return new PaginationInterceptor();
 }
}

四、测试

实体类 主键使用@TableId(value = "id",type = IdType.AUTO)指定类型
@TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的。

@Data
public class SysUser implements Serializable {
 private static final long serialVersionUID = 1L;
 /**
  * 主键
  */
 @TableId(value = "id",type = IdType.AUTO)
 private Integer id;
 /**
  * 用户名
  */
 private String username;
 /**
  * 密码
  */
 private String password;
 /**
  * 电话
  */
 private String phone;
 /**
  * 邮箱
  */
 private String email;
 /**
  * 创建时间
  */
 private Date createDate;
 /**
  * 更新时间
  */
 private Date updateDate;
 /**
  * sys_user
  */
}

新建SysUserMapper继承 BaseMapper

public interface SysUserMapper extends BaseMapper<SysUser> {
}

测试

@Autowired
 private SysUserMapper sysUserMapper;

 /**
  * 插入
  */
 @Test
 public void insert() {
  SysUser sysUser=new SysUser();
  sysUser.setPhone("18787878787");
  sysUser.setPassword("123456");
  sysUser.setUsername("root");
  sysUser.setCreateDate(new Date());
  sysUser.setUpdateDate(new Date());
  sysUserMapper.insert(sysUser);
 }

 /**
  * 分页查询
  */
 @Test
 public void selectByPage() {
  Page<SysUser> page=new Page(1,1);
  IPage p= sysUserMapper.selectPage(page,new QueryWrapper<SysUser>().eq("password","123456"));
  System.out.println(p.getRecords());
 }

分页一般使用

List<ApiLogVO> getCallLogList(ApiLogDTO dto, Page page); mapper
IPage<ApiLogVO> getCallLogList(ApiLogDTO dto); IService
serviceImpl
	@Override
 public IPage<ApiLogVO> getCallLogList(ApiLogDTO dto) {
  Page<ApiLogVO> page=new Page(dto.getCurrent(),dto.getSize());
  List<ApiLogVO>list= apiLogMapper.getCallLogList(dto,page);
  page.setRecords(list);
  return page;
 }
 controller
 @PostMapping("/call/log")
 @ApiOperation("api调用日志列表")
 public IPage<ApiLogVO> callLog(@ModelAttribute ApiLogDTO dto){
  return sysService.getCallLogList(dto);
 }

附上目录结构

总结

到此这篇关于springboot快速集成mybatis-plus的详细教程的文章就介绍到这了,更多相关springboot集成mybatis-plus内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • springboot集成mybatis-plus遇到的问题及解决方法

    在使用spring boot集成mybatis-plus的过程中遇到的问题 如图, 首先我放xml的包的是没问题的,而是引入的架包和配置问题,问题配置如下 解决方法:请将mybatis-plus改成mybatis,mybatis,mybtis,重要的说三遍,必要的架包如下 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring- boot-start

  • SpringBoot整合MyBatis-Plus3.1教程详解

    一.说明 Mybatis-Plus是一个Mybatis框架的增强插件,根据官方描述,MP只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑.并且只需简单配置,即可快速进行 CRUD 操作,从而节省大量时间.代码生成,分页,性能分析等功能一应俱全,最新已经更新到了3.1.1版本了,3.X系列支持lambda语法,让我在写条件构造的时候少了很多的"魔法值",从代码结构上更简洁了. 二.项目环境 MyBatis-Plus版本: 3.1.0 SpringBoot版本:2.1.5 JDK

  • springboot2.3 整合mybatis-plus 高级功能及用法详解

    -学习并使用mybatis-plus的一些高级功能的用法例如: AR模式. 乐观锁 .逻辑删除 .自动填充.数据保护等功能 为了方便演示,咱们还是新建一个全新的项目 引入mp依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.2</version> &l

  • springboot整合mybatis-plus逆向工程的实现

    MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生.官方文档 代码生成器 AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity.Mapper.Mapper XML.Service.Controller 等各个模块的代码,极大的提升了开发效率. mybatis-plus是根据数据库表来生成对应的实体类,首先我们创建数据库表Us

  • springboot2.3 整合mybatis-plus 高级功能

    -学习并使用mybatis-plus的一些高级功能的用法例如: AR模式. 乐观锁 .逻辑删除 .自动填充.数据保护等功能 为了方便演示,咱们还是新建一个全新的项目 引入mp依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.2</version> &l

  • springboot快速集成mybatis-plus的详细教程

    简介 Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发.提高效率而生.这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网.那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA. springBoot快速集成mybatis-plus 一.pom文件引入mybatis-plus依赖 <dependenc

  • Hadoop集成Spring的使用详细教程(快速入门大数据)

    官网sprng-hadoop https://spring.io/projects/spring-hadoop 添加依赖 <dependencies> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-hadoop</artifactId> <version>2.5.0.RELEASE</version&g

  • SpringBoot应用快速部署到K8S的详细教程

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容: 所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: 背景 对于生产环境,我们一般会用CI&&CD工具完成整个构建和部署,因此本文不适合生产环境:对于学习和开发环境,我们频繁修改代码,又想快速见到效果,本文就是针对这种场景的: 内容简介 如果您正在开发SpringBoot应用,并且应用部署在K8S环境,可以参考本文将应用快速部署到K8S环

  • springboot快速整合Mybatis组件的方法(推荐)

    Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者. 原有Spring优缺点分析 Spring的优点分析 Spring是Java企业版(Java Enterprise Edition,

  • SpringBoot快速集成jxls-poi(自定义模板,支持本地文件导出,在线文件导出)

    在项目持续集成的过程中,有时候需要实现报表导出和文档导出,类似于excel中这种文档的导出,在要求不高的情况下,有人可能会考虑直接导出csv文件来简化导出过程.但是导出xlsx文件,其实过程相对更复杂.解决方案就是使用poi的jar包.使用源生的poi来操作表格,代码冗余,处理复杂,同时poi的相关联的依赖还会存在版本兼容问题.所以直接使用poi来实现表格导出,维护成本大,不易于拓展. 我们需要学会站在巨人的肩膀上解决问题,jxls-poi这个就很好解决这个excel表格导出的多样化的问题.类似

  • 手把手教你SpringBoot快速集成Swagger的配置过程

    导语 相信大家无论是做前端还是做后端的,都被接口接口文档所折磨过,前端抱怨接口文档和后端给的不一致,后端抱怨写接口文档很麻烦,所以Swagger就诞生了.直接配置即可自动生成接口文档,而且提供了高效的API测试 话不多说直接开干 导入SpringBoot集成Swagger所需要的依赖 <!--web方便测试--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g

  • SpringBoot快速整合Mybatis、MybatisPlus(代码生成器)实现数据库访问功能

    1. 创建SpringBoot项目 1.1 引入依赖 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ht

  • SpringBoot快速集成Logback日志组件

    目录 前言 引入: 配置: 开发: 结语 前言 在前一节的分享中,慕歌向大家介绍了如何使用spring boot 实现简单的邮寄发送服务,用于验证码服务或者是通知服务.如果大家有兴趣,慕歌还想向大家进一步分享,如何在使用第三方服务,实现手机短信通知服务,就是那个我们每天都会使用到的短信验证码,通知服务.这一节慕歌想带来spring boot日志系统的分享,以及慕歌自己的实现的简易日志记录,慕歌会将日志同时保存在文件和数据库之中. 引入: 如果我们使用 logback 就无需额外引入依赖,在spr

  • 详解SpringBoot 快速整合Mybatis(去XML化+注解进阶)

    序言:使用MyBatis3提供的注解可以逐步取代XML,例如使用@Select注解直接编写SQL完成数据查询,使用@SelectProvider高级注解还可以编写动态SQL,以应对复杂的业务需求. 一. 基础注解 MyBatis 主要提供了以下CRUD注解: @Select @Insert @Update @Delete 增删改查占据了绝大部分的业务操作,掌握这些基础注解的使用是很必要的.例如下面这段代码无需XML即可完成数据查询: @Mapper public interface UserMa

  • Spring Boot 快速搭建微服务框架详细教程

    前言: SpringBoot是为了简化Spring应用的创建.运行.调试.部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置. 简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题---习惯大于约定. Spring Boot默认使用tomcat作为服务器,使用logback提供日志记录. Spring Boot的主要优点: 为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XM

随机推荐