springboot-创建连接池

操作数据库

代码开发步骤:

  1. pom.xml文件配置依赖
  2. properties文件配置连接数据库信息(连接池用的是HikariDataSource)
  3. 数据库连接池开发
    1. @configurationproperties和@value注解从properties文件中取值+@bean+方法开发

service层代码操作数据库

步骤:

1、数据库相关

  1. 安装与配置主从数据库
    1.  安装方法是-克隆虚拟机
  2. 主从数据库同步数据(后续)
    1. 增删改业务-- service--mysql(主) linux部署 
    2. 查询业务  -- service--mysql(从) linux部署

2、代码开发

  1. 配置pom.xml文件-- mysql数据库相关配置+spring boot操作
  2. properties文件增加连接池数据库信息(连接池用的是HikariDataSource)

增加数据库驱动类,增加url,增加数据库用户名/密码,增加连接池,增加连接池最大数,增加连接池最小空闲值

        配置从库数据库,在名称上更改slave

数据库连接池开发

源码类HikariDataSource,使用2个构造方法

public HikariDataSource()构造连接池
public HikariDataSource(HikariConfig configuration)构造连接池配置

代码开发

因为在配置中看到有数据库连接池,现在新建数据路连接池配置datasourceconfig

使用源码类HikariDataSource,使用2个构造方法

原本的数据库链接代码(接口的内容)

现在也可以使用

封装方法

新建主库/从库,包含的信息一致,连接数据库的基本信息,连接池的连接数量

因为是spring boot项目的主库/从库里的数据库信息是在properties文件内配置,

需要在代码中引入,所以需要增加注解

        目前在封装的代码中,要解决的问题就是,定义属性,然后写入参数,因为现在是主库和从库两份方法,如果只定义属性calssname,主库从库都需要使用,所以需要在方法中加入@value注解

为了解决属性一一对应的问题,

需要在参数里增加注解,同事主库和从库代码修改

目前已经写了主库和从库的连接数据库基本信息和连接池的链接数量的设置,并将代码与配置文件一一对应

但只是列出代码,没有增加返回值,无法调用

增加返回值

 

需要先创建连接池

在类上增加@configuration注解,

为什么要加@bean注解?

1,在类上没有➕@configuration注解时,只是一个普通类

2、需要先创建连接池,随着项目启动;所以在类上增加@configuration注解先进行创建,也需要在主库/从库方法上增加@bean,随着项目启动

 

测试

随着数据源启动测试

 

有问题解决

看问题caused by--这个数据源不能解析

 解决:

因为配置文件时hikari,代码中写错了

测试

把config注解去掉代码也可以配置成功,因为有@value注解就可以配置,并且value是全路径,如果value是只有url路径,就会报错,但也可以增加config注解

 


接下来就可以从池子里借链接就可以操作数据库,返回结果即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/54307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据分析师的得力助手:vividime Desktop让数据分析变得更简单高效

在数据驱动决策的今天,数据分析已成为企业不可或缺的一部分。面对海量的数据和复杂的业务需求,一款高效、易用的报表工具显得尤为重要。本文将深入解析为何一款优秀的报表工具对于数据分析至关重要,并以市场上备受好评的免费BI工具——vividi…

集成学习详细介绍

以下内容整理于: 斯图尔特.罗素, 人工智能.现代方法 第四版(张博雅等译)机器学习_温州大学_中国大学MOOC(慕课)XGBoost原理介绍------个人理解版_xgboost原理介绍 个人理解-CSDN博客 集成学习(ensemble):选择一个由一系列假设h1, h2, …, hn构成的集合…

YOLOv10改进系列,YOLOv10损失函数更换为Powerful-IoU(2024年最新IOU),助力高效涨点

改进前训练结果: 改进后的结果: 摘要 边界框回归(BBR)是目标检测中的核心任务之一,BBR损失函数显著影响其性能。然而,观察到现有基于IoU的损失函数存在不合理的惩罚因子,导致回归过程中锚框扩展,并显著减缓收敛速度。为了解决这个问题,深入分析了锚框扩展的原因。针…

【网络】详解HTTP协议的CGI机制和CGI进程

目录 引言 CGI机制模型 伪代码示例 个人主页:东洛的克莱斯韦克-CSDN博客 引言 CGI机制是HTTP协议提供的偏底层的一套机制,也是非常重要的机制——它让大量的业务进程和HTPP协议解耦。而CGI进程是业务层的,用来处理各种数据,比…

OpenCV结构分析与形状描述符(24)检测两个旋转矩形之间是否相交的一个函数rotatedRectangleIntersection()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 测两个旋转矩形之间是否存在交集。 如果存在交集,则还返回交集区域的顶点。 下面是一些交集配置的例子。斜线图案表示交集区域&#…

孙怡带你深度学习(2)--PyTorch框架认识

文章目录 PyTorch框架认识1. Tensor张量定义与特性创建方式 2. 下载数据集下载测试展现下载内容 3. 创建DataLoader(数据加载器)4. 选择处理器5. 神经网络模型构建模型 6. 训练数据训练集数据测试集数据 7. 提高模型学习率 总结 PyTorch框架认识 PyTorc…

Vue2电商平台项目 (三) Search模块、面包屑(页面自己跳自己)、排序、分页器!

文章目录 一、Search模块1、Search模块的api2、Vuex保存数据3、组件获取vuex数据并渲染(1)、分析请求数据的数据结构(2)、getters简化数据、渲染页面 4、Search模块根据不同的参数获取数据(1)、 派发actions的操作封装为函数(2)、设置带给服务器的参数(3)、Object.assign整理参…

如何通过OceanBase的多级弹性扩缩容能力应对业务洪峰

每周四晚上的10点,都有近百万的年轻用户进入泡泡玛特的抽盒机小程序,共同参与到抢抽盲盒新品的活动中。瞬间的并发流量激增对抽盒机小程序的系统构成了巨大的挑战,同时也对其数据库的扩容能力也提出了更高的要求。 但泡泡玛特的工程师们一点…

Redhat 7,8,9系(复刻系列) 一键部署Oracle19c rpm

Oracle19c前言 Oracle 19c 是甲骨文公司推出的一款企业级关系数据库管理系统,它带来了许多新的功能和改进,使得数据库管理更加高效、安全和可靠。以下是关于 Oracle 19c 的详细介绍: 主要新特性 多租户架构:支持多租户架构,允许多个独立的数据库实例在同一个物理服务器上…

JDBC API详解一

DriverManager 驱动管理类,作用:1,注册驱动;2,获取数据库连接 1,注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"); 查看Driver类源码 static{try{DriverManager.registerDriver(newDrive…

java十进制码、六进制码和字符码的转换

一、字符转换为ASCII码: int i(int)1; 二、ASCII码转换为字符: char ch (char)40; 三、十六进制码转换为字符: char charValue (char)\u0040; package week3;public class check_point4_8 {public static void main(String[] args) {S…

谷歌怎么像图里这样多开贴吧号??

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

数据库三范式和ER图详解

数据库设计三范式 第一范式:要求数据表中的字段(列)不可再分(原子性) 第二范式:不存在非关键字段(非主键)对关键字段(主键)的部分依赖 ps: 主要是针对联合主键,非主键不能只依赖联合主键的一部分 联合主键,即多个列组成的主键 第…

Python | Leetcode Python题解之第414题第三大的数

题目: 题解: class Solution:def thirdMax(self, nums: List[int]) -> int:a, b, c None, None, Nonefor num in nums:if a is None or num > a:a, b, c num, a, belif a > num and (b is None or num > b):b, c num, belif b is not No…

代码随想录Day 46|动态规划完结,leetcode题目:647. 回文子串、516.最长回文子序列

提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 题目题目一:647. 回文子串解题思路:暴力解法动态规划 题目二: 516.最长回文子序列解题思路: 动态规划总结动规五部曲基础概念常见问题类型 动态规划…

Web3入门指南:从基础概念到实际应用

Web3,即“去中心化的第三代互联网”,正在逐步改变我们对互联网的传统认知。从最初的静态网页(Web1.0)到互动平台和社交媒体为主的互联网(Web2.0),Web3的目标是让用户重新掌握对数据和数字资产的…

LeetCode[中等] 合并区间

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 思路 区间排序: 开始位置 ——> 升序排…

ZW3D二次开发_UI_非模板表单_设置表单显示位置

1.ZW3D弹出非模板表单时可以设置弹出位置(居中、左下角、右上角等) 2.假设已创建好非模板表单 3.在Form属性中添加form_pos属性 4.输入值 base,CTR,0.0 ,如下图 也可以设置为其他值显示在不同的位置,如下 5.重新编译,…

Windows目录监控部署

1.前提 Cell_Directory_Monitoring.bat脚本用到的du命令,请协调Windows系统管理员提供。 下述du命令部署配置方式仅供参考,如要部署,请协调Windows系统管理员协助确认其不会对系统造成异常。 1.1.du.exe部署 1.将x32位du.exe文件放入如下目录 目录:C:\Windows\System3…

Windows下SDL2创建最简单的一个窗口

先看运行效果 再上代码&#xff1a; #include <stdio.h> #include "SDL.h"int main(int argc, char* argv[]) {// 初始化SDL视频子系统if (SDL_Init(SDL_INIT_VIDEO) -1){printf("Error: %s\n", SDL_GetError());return -1;} // 创建一个窗口SDL_…