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

 更新时间:2020年09月08日 11:37:52   作者:子_轩  
这篇文章主要介绍了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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Consumer接口、Predicate接口初使用

    基于Consumer接口、Predicate接口初使用

    这篇文章主要介绍了Consumer接口、Predicate接口初使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • IDEA 端口占用的解决方法(推荐)

    IDEA 端口占用的解决方法(推荐)

    这篇文章主要介绍了IDEA 端口占用的解决方法,本文通过两种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 在java poi导入Excel通用工具类示例详解

    在java poi导入Excel通用工具类示例详解

    这篇文章主要给大家介绍了关于在java poi导入Excel通用工具类的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • java实现html转pdf方法步骤

    java实现html转pdf方法步骤

    这篇文章主要给大家介绍了关于java实现html转pdf方法的相关资料,要将HTML转换成PDF,我们需要借助Java中的第三方库,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • Spring Boot 之HelloWorld开发案例

    Spring Boot 之HelloWorld开发案例

    这篇文章主要介绍了Spring Boot 之HelloWorld开发案例,需要的朋友可以参考下
    2017-04-04
  • mybatis返回map结果集@MapKey使用的场景分析

    mybatis返回map结果集@MapKey使用的场景分析

    这篇文章主要介绍了mybatis返回map结果集@MapKey使用的场景分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java实现的上传并压缩图片功能【可等比例压缩或原尺寸压缩】

    Java实现的上传并压缩图片功能【可等比例压缩或原尺寸压缩】

    这篇文章主要介绍了Java实现的上传并压缩图片功能,可实现图片的等比例压缩或原尺寸压缩,涉及java文件读写、转换、传输等相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • Java中驼峰命名与下划线命名相互转换

    Java中驼峰命名与下划线命名相互转换

    这篇文章主要介绍了Java中驼峰命名与下划线命名相互转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • @ConfigurationProperties绑定配置信息至Array、List、Map、Bean的实现

    @ConfigurationProperties绑定配置信息至Array、List、Map、Bean的实现

    这篇文章主要介绍了@ConfigurationProperties绑定配置信息至Array、List、Map、Bean的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Spring超详细讲解BeanUtils改造

    Spring超详细讲解BeanUtils改造

    BeanUtils.copyProperties();确实为我们做了很多事情,虽然不能完美完成深拷贝,但是对于 po、vo、dto 的拷贝已经足够用了。但是其还是有一些不够完美的地方,下面我们来探讨一下有哪些不足以及改造
    2022-06-06

最新评论