最全面的SpringBoot教程(四)——数据库连接

news/2024/11/24 8:35:15/

前言

在这里插入图片描述

本文为 最全面的SpringBoot教程(四)——数据库连接 相关知识,下边将对JDBC连接配置,与使用Druid数据源,从添加依赖修改配置项再到测试进行详尽介绍~

📌博主主页:小新要变强 的主页
👉Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~
👉算法刷题路线可参考:算法刷题路线总结与相关资料分享,内含最详尽的算法刷题路线指南及相关资料分享~
👉Java微服务开源项目可参考:企业级Java微服务开源项目(开源框架,用于学习、毕设、公司项目、私活等,减少开发工作,让您只关注业务!)

目录

最全面的SpringBoot教程(四)——数据库连接

  • 前言
  • 目录
  • 一、JDBC连接配置
    • 1️⃣添加JDBC依赖
    • 2️⃣修改配置项
    • 3️⃣测试
  • 二、使用Druid数据源
    • 1️⃣添加依赖
    • 2️⃣添加配置
    • 3️⃣测试
  • 后记


在这里插入图片描述

一、JDBC连接配置

1️⃣添加JDBC依赖

🍀(1)添加jdbc依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>

发现同时依赖数据池(速度快)

在这里插入图片描述

🍀(2)添加数据库驱动

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

默认配置的mysql驱动版本8.0.30

在这里插入图片描述

可以进行修改。

<!-- 方法一,直接在下面写版本 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version>
</dependency>
<!-- 方法一,2、重新声明版本(maven的属性的就近优先原则)-->
<properties><mysql.version>5.1.49</mysql.version>
</properties>

2️⃣修改配置项

application.yaml:

spring:datasource:url: jdbc:mysql://localhost:3306/sp_boot_demousername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver

3️⃣测试

DemoApplicationTests.java:

@SpringBootTest
class DemoApplicationTests {@AutowiredJdbcTemplate jdbcTemplate;@Testvoid contextLoads() {String sql = "select count(*) from sys_user";Long totle = jdbcTemplate.queryForObject(sql, Long.class);System.out.println(totle);}
}

二、使用Druid数据源

druid官方github地址: https://github.com/alibaba/druid

Druid相对于其他数据库连接池有着强大的监控特性,通过监控特性可以清楚知道连接池和SQl的工作情况。

1️⃣添加依赖

<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.17</version>
</dependency>

2️⃣添加配置

SpringBoot配置示例 :https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

配置列表项:https://github.com/alibaba/druid/wiki/DruidDataSource%E9%85%8D%E7%BD%AE%E5%B1%9E%E6%80%A7%E5%88%97%E8%A1%A8

application.yaml:

spring:datasource:url: jdbc:mysql://localhost:3306/sp_boot_demousername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driverdruid:aop-patterns: com.atguigu.admin.*  #监控SpringBeanfilters: stat,wall     # 底层开启功能,stat(sql监控),wall(防火墙)stat-view-servlet:   # 配置监控页功能enabled: truelogin-username: adminlogin-password: adminresetEnable: falseweb-stat-filter:  # 监控webenabled: trueurlPattern: /*exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'filter:stat:    # 对上面filters里面的stat的详细配置slow-sql-millis: 1000logSlowSql: trueenabled: truewall:enabled: trueconfig:drop-table-allow: false

3️⃣测试

访问:http://localhost:8081/druid/login.html

在这里插入图片描述

在这里插入图片描述


后记

在这里插入图片描述

👉Java全栈学习路线可参考:【Java全栈学习路线】最全的Java学习路线及知识清单,Java自学方向指引,内含最全Java全栈学习技术清单~
👉算法刷题路线可参考:算法刷题路线总结与相关资料分享,内含最详尽的算法刷题路线指南及相关资料分享~


http://www.ppmy.cn/news/22887.html

相关文章

翻译必考知识点总结+瑞思拜翻译知识点(3,4和5)

1 之一 one of 名词的复数形式 1、《水浒传》(Water Margin)是中国文学四大经典小说之一 Water Margin is one of the four classical novels of(表示的的意思&#xff1a;A of B 是指 B的A) Chinese literature. Water Margin is one of the four classical novels of Chi…

#6队列的实现#

1.队列的概念及其结构 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先 进先出FIFO(First In First Out) 入队列&#xff1a;进行插入操作的一端称为队尾出队列&#xff1a;进行删除操作的一 端称为队头…

Linux文件与目录的复制、删除与移动

cp&#xff08;复制文件或目录&#xff09; cp 【-adfilprsu】 源文件 目标文件 cp 【options】源文件1 源文件2 ......目录 选项与参数&#xff1a; -a&#xff1a;相当于-dr --preserveall的意思&#xff0c;至于dr参考下面说明 -d&#xff1a;若源文件为链接文件的属性&…

【RabbitMQ】Fanout、Direct、Topic、消息转换器

目录 1.发布/订阅 2.Fanout 2.1.声明队列和交换机 2.2.消息发送 2.3.消息接收 2.4.总结 3.Direct 3.1.基于注解声明队列和交换机 3.2.消息发送 3.3.总结 4.Topic 4.1.说明 4.2.消息发送 4.3.消息接收 4.4.总结 5.消息转换器 5.1.测试默认转换器 5.2.配置JSON…

内网渗透(九)之内网信息收集-手动本地信息收集

前言 不管是在外网中还是在内网中,信息收集都是重要的第一步。对于内网中的一台机器,其所处内网的结构是什么样 的、其角色是什么、使用这台机器的人的角色是什么,以及这台机器上安装了什么杀毒软件、这台机器是通过什么方式上网的、这台机器是笔记本电脑还是台式机等问题,都需…

ESP32设备驱动-MMA7361加速度计驱动

MMA7361加速度计驱动 1、MMA7361介绍 MMA7361L 是一款低功耗、薄型电容式微机械加速度计,具有信号调理、1 极低通滤波器、温度补偿、自检、检测线性自由落体的 0g-Detect 和允许在 2 种灵敏度之间进行选择的 g-Select . 零重力偏移和灵敏度是出厂设置的,不需要外部设备。 M…

Ngrok免费实现内网穿透

1、使用场景 让本地局域网的跑的应用可以被外网访问 2、常用内网穿透工具 能实现内网穿透的工具也挺多&#xff0c;下面列出了几个 Ngrok 一个通过任何NAT或防火墙为您的本地主机服务器提供即时访问、安全的URL的命令。类似花生壳&#xff0c;分为服务端和客户端&#xff0…

「2」C++/C程序的基本概念

&#x1f680;&#x1f680;&#x1f680;大家觉不错的话&#xff0c;就恳求大家点点关注&#xff0c;点点小爱心&#xff0c;指点指点&#x1f680;&#x1f680;&#x1f680; 目录 &#x1f430;标识符 &#x1f3e1;前言 &#x1f338;标识符的属性 &#x1f914;提示 …