Mybatis-Plus&Druid数据源使用及解读

 更新时间:2026年06月04日 09:16:55   作者:羽愿  
这篇文章主要介绍了Mybatis-Plus&Druid数据源使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、Mybatis-Plus简介

什么是Mybatis-Plus

Mybatis-Plus是一个Mybatis(OPENS NEW WINDOW)的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发。

Mybatis-Plus的优势

  • 无侵入:只做增强不做改变,引入它不会对现有工程产生影响。
  • 损耗小:启动即会自动注入基本curd,性能基本无损耗,直接面向对象操作。
  • 强大的crud操作:内置通用mAPPER、通用sERVICE,仅仅通过少量配置即可实现单表大部分crud操作,更有强大的条件构造器,满足各类使用需求。
  • 支持lAMBDA形式调用:通过 lAMBDA 表达式,方便的编写各类查询条件,无需再担心字段写错
  • 支持主键自动生成:支持多达4种主键策略(内含分布式唯一 id 生成器 - sEQUENCE),可自由配置,完美解决主键问题。
  • 支持aCTIVErECORD模式:支持 aCTIVErECORD 形式调用,实体类只需继承 mODEL 类即可进行强大的 crud 操作。
  • 支持自定义全局通用操作:支持全局通用方法注入( WRITE ONCE, USE ANYWHERE )。
  • 内置代码生成器:采用代码或者 MAVEN 插件可快速生成 MAPPER 、 MODEL 、 SERVICE 、 CONTROLLER 层代码,支持模板引擎,更有超多自定义配置等您来使用。
  • 内置分页插件:基于 Mybatis物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List查询。
  • 内置性能分析插件:可输出 sQL 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询。

Mybatis-Plus的框架结构

二、Spring-Boot整合Mybatis-Plus入门

创建项目,添加依赖

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
            <version>3.5.7</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

application.properties相关配置

spring:
  #?????
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/crm?useUnicode=true&characterEncoding=utf-8
    username: root
    password: 123456
logging:
  level:
    root: warn
    com.bdqn.demo.mapper: trace
  pattern:
    console: '%p%m%n'

编写实体类

@Data
@TableName("sys_user")
public class User implements Serializable {

@TableId(type = IdType.AUTO)
@TableField("usr_id")
  private Long usrId;
@TableField("usr_name")
  private String usrName;
  private String usrPassword;
  private Long usrRoleId;
  private Long usrFlag;

编写Mapper接口

public interface UserMapper extends BaseMapper<User> {
}

测试

@SpringBootTest
class SpringBootT369PlusApplicationTests {

    @Resource
    private UserMapper userMapper;

    @Test
    public void testSelectById() {  //查询主键
        User user = userMapper.selectById(2L);
        System.out.println("usrName:" + user.getUsrName());
    }
}

三、Druid数据源简介

概念与作用

Druid数据源是一款高性能、稳定、安全的数据源中间件,它主要用于Java应用程序中。

Druid数据源兼容多种数据库,如MySQL、Oracle、PostqreSQl等,可以为开发者提供一致、可靠的数据访问服务。

特点与优势

Druid数据源具有以下特点和优势:

  • 高性能:Druid数据源在性能上具有明显优势,通过多种优化策略,如二级缓存、连接池等,提高了数据访问效率
  • 稳定可靠:Druid数据源在众多项目中得到了广泛应用,具有较高的稳定性和可靠性。
  • 安全:Druid数据源支持加密和验证机制,保证了数据传输的安全性。
  • 易用性:Druid数据源提供了丰富的API和配置项,方便开发者进行定制和扩展。

Druid数据源的使用

引入依赖

       <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.4</version>
        </dependency>
     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

application.properties相关配置

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/crm?useUnicode=true&characterEncoding=utf-8
    username: root
    password: 123456
    type: com.alibaba.druid.pool.DruidDataSource #??????Druid???
    druid:
#初始化大小,最小,最大连接数
      initial-size: 3
      max-active: 10 
      min-idle: 3
#配置获取连接等待超时的时间
      max-wait: 60000 
#监控后台账号和密码
      stat-view-servlet-log-username: admin
      stat-view-servlet-log-password: admin
#配置StatFilter
      filter-stat-log-slow-sql: true
      filter-stat-slow-sql-millis: true

在以前项目基础上,增加对Druid连接池配置,以及SQL监控的配置,druid-spring-boot-starter默认情况下开启StatDilter的监控功能。

配置完成后,直接启动项目访问地址:http://localhost:8080/druid即可

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 代码详解java里的“==”和“equels”区别

    代码详解java里的“==”和“equels”区别

    本篇文章通过实例代码给大家详细解释了java里的“==”和“equels”区别,对此有兴趣的朋友跟着小编一起学习下。
    2018-02-02
  • java 按行读取文件并输出到控制台的方法

    java 按行读取文件并输出到控制台的方法

    今天小编就为大家分享一篇java 按行读取文件并输出到控制台的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Java类和对象全面解析

    Java类和对象全面解析

    本文介绍了Java面向对象编程的核心概念,文章通过具体代码示例,帮助读者理解Java面向对象编程的基本原理和实践方法,感兴趣的朋友跟随小编一起看看吧
    2026-05-05
  • springboot项目或其他项目使用@Test测试项目接口配置

    springboot项目或其他项目使用@Test测试项目接口配置

    这篇文章主要介绍了springboot项目或其他项目使用@Test测试项目接口配置,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • 防止SpringBoot程序崩溃的几种方式汇总

    防止SpringBoot程序崩溃的几种方式汇总

    本文总结了8种防止SpringBoot程序崩溃的方法,包括全局异常处理、try-catch、断路器、资源限制、监控、优雅停机、健康检查和数据库连接池配置,这些方法有助于提高应用程序的稳定性和可靠性,需要的朋友可以参考下
    2025-05-05
  • idea自带database连接mysql失败问题的解决办法

    idea自带database连接mysql失败问题的解决办法

    在IDEA⾃带的数据库连接⼯具中,可以连接MySQL数据库,但是有的时候连接出现错误,连接不上数据库,下面这篇文章主要给大家介绍了关于idea自带database连接mysql失败问题的解决办法,需要的朋友可以参考下
    2023-06-06
  • Fluent Mybatis学习之Update语法实践

    Fluent Mybatis学习之Update语法实践

    Fluent MyBatis是一个MyBatis的增强工具,没有对mybatis做任何修改。本篇文章将详细介绍对Fluent Mybatis中的update语法进行验证。代码具有一定价值,感兴趣的小伙伴可以学习一下
    2021-11-11
  • spring boot jpa写原生sql报Cannot resolve table错误解决方法

    spring boot jpa写原生sql报Cannot resolve table错误解决方法

    在本篇文章里小编给大家整理的是关于spring boot jpa写原生sql报Cannot resolve table错误的解决方法,需要的朋友学习下。
    2019-11-11
  • spring bean.xml文件p标签使用报错的解决

    spring bean.xml文件p标签使用报错的解决

    这篇文章主要介绍了spring bean.xml文件p标签使用报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Mybatis之通用Mapper动态表名及其原理分析

    Mybatis之通用Mapper动态表名及其原理分析

    这篇文章主要介绍了Mybatis之通用Mapper动态表名及其原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论