当前位置: 首页 > news >正文

在Spring Cloud项目中集成MySQL、MyBatis-Plus与HikariCP

一. 小知识

在这里插入图片描述
mysql-connector-java 和 mysql-connector-j 的区别

mysql-connector-java 和 mysql-connector-j 实际上指的是同一个MySQL官方提供的JDBC驱动程序,但它们代表了这个驱动在不同时间点的命名。

  • mysql-connector-java:这是旧的命名方式,长期以来用于指代MySQL官方提供的JDBC驱动。如果你之前使用过MySQL与Java应用程序进行交互,你可能会熟悉这个名字,并且在Maven依赖中也是以mysql-connector-java作为artifactId来引用的。
  • mysql-connector-j:从某个版本开始(大约是2022年),MySQL官方决定将JDBC驱动的名称更改为mysql-connector-j。这次更名主要是品牌统一和清晰度提升的一部分,意在更好地反映产品为Java语言提供连接的能力。不过,尽管名字改变了,它仍然是原来的JDBC驱动,功能和用途没有改变。
    在这里插入图片描述

旧版本坐标(适用于 8.0.30 及之前):

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.30</version>
</dependency>

新版本坐标(适用于 8.0.31 及之后):

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.0.31</version>
</dependency>

二. 开始引入

1. 添加依赖

首先,在pom.xml文件中添加MySQL、Spring Data JPA(可选)、MyBatis-Plus以及HikariCP相关的依赖:

<dependencies>
    <!-- MySQL Connector Java -->
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <version>8.0.31</version>
        <scope>runtime</scope>
    </dependency>

    <dependency>
  		<groupId>com.baomidou</groupId>
  		<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
  		<version>3.5.9</version>
	</dependency>

    <!-- Spring Boot Starter Data JPA -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
</dependencies>

在这里插入图片描述

2. 配置数据源

yml配置文件

spring:
  datasource:
    # 数据库连接URL,包括数据库名、是否使用SSL及服务器时区设置等参数
    url: jdbc:mysql://localhost:3306/xxx?useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
      # 参数解释:
      # useSSL=false: 禁用SSL连接(适用于本地或信任网络环境)
      # serverTimezone=UTC: 设置服务器时区为UTC(根据实际情况调整)
      # rewriteBatchedStatements=true: 启用批量执行优化,减少与数据库服务器之间的往返次数
    username: root  # 数据库用户名
    password: xxx # 数据库密码
    driver-class-name: com.mysql.cj.jdbc.Driver  # JDBC驱动类名
    hikari:  # HikariCP连接池配置
      maximum-pool-size: 10  # 连接池允许的最大连接数
      minimum-idle: 5  # 连接池保持的最小空闲连接数
      idle-timeout: 30000  # 空闲连接超时时间,单位为毫秒
      pool-name: myHikariCP  # 连接池的名字
      max-lifetime: 1800000  # 连接存活的最大生命周期,单位为毫秒
      connection-timeout: 30000  # 等待一个数据库连接的最大毫秒数

mybatis-plus:
  ## MyBatis-Plus的相关配置
  mapper-locations: classpath*:/mapper/**/*.xml  # Mapper XML文件的位置
  global-config:  # 全局配置
    db-config:  # 数据库配置
      ## 生成ID方式: AUTO 数据库自增  INPUT 自己输入  ASSIGN_UUID 默认生成器
      #id-type: auto  # 主键生成策略
      ## 逻辑删除字段
      logic-delete-field: deleted  # 逻辑删除字段名,默认为deleted
      ## 逻辑删除已删除值
      logic-delete-value: 1  # 逻辑删除后字段的值,默认为1
      ## 逻辑删除未删除值
      logic-not-delete-value: 0  # 逻辑未删除时字段的值,默认为0
    configuration:  # MyBatis核心配置
      ## 自动驼峰命名规则映射
      map-underscore-to-camel-case: true  # 开启自动将下划线命名转换为驼峰命名
      log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  # 日志实现类,这里设置为标准输出日志实现,便于调试

3. Mapper接口所在的包路径

@MapperScan("com.xxx.mapper")

在这里插入图片描述

相关文章:

  • 【设计模式】【行为型模式】命令模式(Command)
  • Docker 安装与配置 Nginx
  • C++20 新特性解析
  • Scrapy:任务队列底层设计详解
  • JSON入门
  • 配置mysql8.0主从同步,并使用PXC实现高可用
  • 【Linux】Socket编程—TCP
  • OpenEuler学习笔记(三十一):在OpenEuler上搭建仓颉语言开发环境
  • 探索后端开发中的异步API:基于Resilience4j与Reactive Programming的高性能设计
  • eval 内置函数用法
  • 三角拓扑聚合优化器TTAO-Transformer-BiLSTM多变量回归预测(Maltab)
  • SQL-leetcode—1581. 进店却未进行过交易的顾客
  • 怎么才能DeepSeek批量写作和内容导出?
  • WebSocket 握手过程
  • 【实战篇】室内设计师如何利用 DeepSeek 做设计:从灵感到落地的全方位指南
  • 软件可靠性基础知识
  • 机器学习 - 贪心算法、前向搜索、后向搜索
  • NPDP学习笔记 -产品经理(第二版)-第七章 产品创新管理
  • openGauss 3.0 数据库在线实训课程12: 学习逻辑结构:模式管理
  • 架构设计系列(二):CI/CD
  • 魔都眼|买买买,老铺黄金新店开业被挤爆:有人排队5小时
  • 中方拟解除对5名欧洲议会议员制裁?外交部:望中欧立法机构相向而行
  • 中信银行一季度净利195.09亿增1.66%,不良率持平
  • 贵州茅台一季度净利268亿元增长11.56%,系列酒营收增近两成
  • 病人有头发,照护者不发疯:《黑镜》中的身体缺席与虚伪关怀
  • 柴德赓、纪庸与叫歇碑