SpringBoot数据层解决方案

文章目录

  • [1. 数据层解决方案](#1. 数据层解决方案)
  • [2. 数据源技术](#2. 数据源技术)

1. 数据层解决方案

现有数据层解决方案技术选型:Druid + MyBatis-Plus + MySQL

  • 数据源:DruidDataSource
  • 持久化技术:MyBatis-Plus / MyBatis
  • 数据库:MySQL

下面的研究就分为三个层面进行研究,对应上面列出的三个方面,从第一个数据源技术开始

2. 数据源技术

数据源配置格式

  • 格式一
yml 复制代码
spring:
  datasource:
  	  driver-class-name: com.mysql.cj.jdbc.Driver
  	  url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
      username: root
      password: root
      type: com.alibaba.druid.pool.DruidDataSource
  • 格式二
yml 复制代码
spring:
  datasource:  
    druid:
  	  driver-class-name: com.mysql.cj.jdbc.Driver
  	  url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=UTC
      username: root
      password: root
  • 数据源技术
    目前使用的数据源技术是Druid,运行时可以在日志中看到对应的数据源初始化信息,具体如下:
java 复制代码
INFO 28600 --- [           main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource
INFO 28600 --- [           main] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} inited
  • 如果不使用Druid数据源,程序运行后是什么样子呢?是独立的数据库连接对象还是有其他的连接池技术支持呢?将Druid技术对应的starter去掉再次运行程序可以在日志中找到如下初始化信息
java 复制代码
INFO 31820 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
INFO 31820 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
  • 虽然没有DruidDataSource相关的信息了,但是发现日志中有HikariDataSource这个信息,以DataSource结尾的名称,这一定是一个数据源技术。springboot内嵌数据源。

  • 数据层技术是每一个企业级应用程序都会用到的,而其中必定会进行数据库连接的管理。springboot根据开发者的习惯出发,开发者提供了数据源技术,就用你提供的,开发者没有提供,就给一个默认的就行。

  • springboot提供了3款内嵌数据源技术,分别如下:

    1、HikariCP

    2、Tomcat提供DataSource

    3、Commons DBCP

相关推荐
mldong2 小时前
C# 开发者也有自己的轻量工作流引擎了:NuGet 装包,5 分钟跑通一条审批流
后端·c#·.net
xcl09254 小时前
幼儿托育系统开发实战:从需求分析到上线全流程指南
java·大数据·需求分析
吴声子夜歌4 小时前
ApacheCommons——commons-cli(命令行参数解析)
java·开发语言·apache
小小猪的春天4 小时前
Java 手写第一个 MCP Server:Spring AI MCP 半小时跑通
java·人工智能·spring boot·ai编程
find1star4 小时前
LeetCode 141:环形链表
java·算法·leetcode·链表
爱学堂IT分享5 小时前
鹤翔老师pmp项目管理培训认证考试课 (直播录播题库送学时证明)【共58课时】-51CTO学堂
后端
今天AI了吗5 小时前
DeepSeek Harness 深度解析:从评测架构到实战落地
java·网络·数据库·人工智能·架构·java-ee
王的宝库5 小时前
Go 项目结构:从单文件到标准工程布局
开发语言·后端·golang
许彰午5 小时前
27-AuthService登录链路
java·低代码·架构
泡海椒5 小时前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp