Spring Boot(二) 快速集成 MyBatis-Plus

307 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第3天,点击查看活动详情

大家好! 我是慕歌,一只想教你学习 Spring Boot的野生coder! 欢迎来到慕歌的 Sping boot系列教程,希望通过这个教程带大家搭建基础的 Spring Boot项目,该教程所有知识点均来源于本人的真实开发!

前言

在我们学习spring boot 的过程中,如何连接数据库,实现数据交互是绕不过一个问题。在spring boot 中就为我们提供了一个优雅数据处理组件--mybatis-plus,他是我们熟知的组件mybatis 的进阶版本在这个版本中,为我们提供了很多便利的组件如代码生成器,分页组件和基本CRUD接口等... 。 下面我们开始学习,如何在spring boot 中使用mybatis!
mybatis-plus 官网: www.mybatis-plus.com
mybatis-plus 文档地址:www.mybatis-plus.com/guide

引入mybatis-plus

mybatis-plus 依赖

在spring boot 工程的pom.xml 中导入该依赖

        <!--     mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

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

mysql 和mybatis-plus 的工程无法依赖父工程的版本,需要我们指定引入包的版本,建议使用最新版本的前一个版本,最新版本可能存在未知BUG ,对于新手不太友好,如果发现出现版本冲突,需要更换成需要的版本
relate.png

mybatis-plus 配置

在引入包之后需要我们配置自己的数据库配置,这里选择的数据源是 hikari ,这是mybatis-plus 的默认数据源,大家也可以导入自己需要的数据源,配置内容:

spring:
#  数据库
  datasource:
#    类型
    type: com.zaxxer.hikari.HikariDataSource
#    驱动
    driver-class-name: com.mysql.cj.jdbc.Driver
#    数据库
    url: jdbc:mysql://localhost:3306/***?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8
#    账号
    username: ***
#    密码
    password: ***
# 将***部分替换成自己的数据源

在配置mysql 数据库配置后,还可进行mybatis-plus 的配置,辅助开发:

#mybatis 配置
mybatis-plus:
  configuration:
#    日志模式
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#    xml扫描地址
  mapper-locations: classpath:mapper/**/*.xml

mybatis 接入spring boot

将mybatis-plus 的部分配置注入到spring boot 中,进行统一管理,需要进行一下配置:

/**
 * mybatis-plus 配置
 */
@Configuration
@MapperScan("channel.cret.mapper")
public class MybatisConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        //对象
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        //数据库分页
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        /*乐观锁
        需要在数据库表字段添加version 通过version 校验数据库的版本然后触发锁机制
        乐观锁: 只在数据库的数据需要提交的最后进行校验
        悲观锁: 在进行数据操纵时直接拒绝其他请求的访问导致读操作也失效
         */
        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
        return interceptor;
    }
}

具体导入的包,如下:spring boot.png

结语

这一章的分享到这里就结束了,下一节中还将带来mybatis-plus 核心功能的分享!
如果您觉得本文不错,欢迎点赞支持,您的关注是我坚持的动力!