JDBC与MySQL数据库的连接

2023-10-26

Jdbc连接池

  1. 概念:一个容器,存放数据库连接的容器。
  2. 好处:节约资源、用户访问高效
  3. 规范:

(1)、用连接池管理连接,可以重复利用

(2)、不是 自己创建连接,而是通过连接池获取连接

(3)、使用完之后调用连接的close()方法归还连接,不是关闭连接哦!

(4)、连接池中完成连接之后可以再次使用。

二、

jdbc与数据库连接的方式:

这边先使用jdbc配置文件的方式进行连接,在使用连接池的方式。

1.1、步骤:

  (1)、导入jar包

(2)、配置文件:文件名是以(点properties)结尾

(推荐放在src下)

第一步:

 

第二步:

 

这样就创建好了

(3)、配置文件中内容

 

user=root
password=123456
url=jdbc:mysql://localhost:3306/usera

//这一行最后一个是数据库名,别找抄
dirverClass=com.mysql.cj.jdbc.Driver

Password是你自己数据库的密码!

url是数据库的位置,不要无脑复制!

还有就是,这里面最好等号之间不要加空格。

(4)、加载配置文件

1读取配置文件的信息:

InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("配置文件位置");

Properties pro = new Properties();

pro.load(is);

获取到四个配置文件信息:

String user = pro.getProperty("user");

String password = pro.getProperty("password");

String url = pro.getProperty("url");

String dirverClass = pro.getProperty("dirverClass");

2、加载驱动:

Class.forName(dirverClass);

获取连接:

Connection conn = DriverManager.getConnection(url, user, password);

(1、)这个方法好处是:实现了数据与代码的分离,实现了解耦

(2、)如果需要修改配置文件信息,可以避免程序重新打包。

              Druid连接池进行连接。

1)、Druid连接池

Druid连接池:

链接:https://pan.baidu.com/s/1bLpBHr5A3uMP8USVd2Uezw

提取码:1111

这边还需要一个mysql的jar包:

mysql-connector-java-5.1.7-bin.jar

链接:https://pan.baidu.com/s/1skgyJgpZ9rzlzZYZC_9dBA

提取码:1111

1、和上面一样,同样的配置文件

url=jdbc:mysql://localhost:3306/usera

username=root

password=123456

dirverClass=com.mysql.cj.jdbc.Driver

initialSize=8

maxAactive=8

maxAactive表示最大连接数。

initialSize表示初始化连接数。

这里是连接的代码。

Properties pros = new Properties();

InputStream inp = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");

pros.load(inp);

DataSource dataSource = DruidDataSourceFactory.createDataSource(pros);

Connection connection = dataSource.getConnection();

System.out.println(connection);

如果出现这个则表示连接成功了

 

小白在此,随便喷我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JDBC与MySQL数据库的连接 的相关文章

  • 数据库字段中的逗号分隔值

    我有一个产品表 该表中的每一行对应一个产品 并由唯一的 ID 标识 现在 每个产品都可以有多个与该产品关联的 代码 例如 Id Code 0001 IN ON ME OH 0002 ON VI AC ZO 0003 QA PS OO ME
  • PHP MySql 百分比

    我的问题是关于百分比 我不是专家 所以我会尽力以更好的方式进行解释 我的 mysql 服务器中有一个表 假设有 700 条记录 如下所示 Name country language Birth Lucy UK EN 1980 Mari Ca
  • 如何在MYSQL中将整个字符串小写并保持第一个大写[重复]

    这个问题在这里已经有答案了 我的表栏目 我预期的输出会在列中发生变化 Smith Allen Doyle Dennis Baker Waker 这是我尝试过的 但不起作用 UPDATE TABLE employee SET last nam
  • 将庞大数据库从亚马逊RDS导出到本地mysql

    我在 Amazon RDS 上有一个 mysql 数据库 大约 600GB 数据 我需要将其移回本地专用服务器 但我不知道从哪里开始 每次我尝试初始化 sqldump 时它都会冻结 有没有办法将其移至 S3 甚至可能在开始下载之前将其分成更
  • 获取带有计数的不同记录

    我有一张桌子personid and msg列 personid msg 1 msg1 2 msg2 2 msg3 3 msg4 1 msg2 我想得到总计msg对于每个personid 我正在尝试这个查询 select distinct
  • SQL 连接两个没有关系的表

    我有具有相同结构的不同表 我想通过其中一列将它们连接起来 问题是他们不共享该专栏中的信息 Table 1 Type A Name Value Table 2 Type B Name Value 结果表 在单列中 nameFromA name
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • SQL 最近日期

    我需要在 php 中获取诸如 2010 04 27 之类的日期作为字符串 并在表中找到最近的 5 个日期 表中的日期保存为日期类型 您可以使用DATEDIFF http dev mysql com doc refman 5 1 en dat
  • Flutter 中有预填充数据库使用的示例吗?

    Flutter 中有预填充数据库使用的示例吗 我不需要 CRUD 示例 此时我只需要从数据库读取数据即可 我是 Flutter 新手 所以一步一步的教程会很好 您可以将您的应用程序与预填充的 sqlite 数据库捆绑在一起assets文件夹
  • 如何从子查询 SQLite 接收两个值

    我是一个自学的 SQLite 新手 我有三个表 person pet person pet schema 是 CREATE TABLE person id INTEGER PRIMARY KEY first name TEXT last n
  • MySQL 与 PostgreSQL JSON 搜索功能

    我一直在寻找一篇博客文章或一个功能矩阵 通过 JSON 功能对 MySQL 和 PostgreSQL 进行比较 我找到了一个好的Postgres 的特征矩阵 https www postgresql org about featuremat
  • mysql 版本号排序

    我有这样的价值观 1 1 2 9 1 2 2 4 1 2 3 4 3 2 14 3 2 1 4 2 我需要使用 mysql 对这些值进行排序 该数据类型是 varbinary 300 所需的输出将类似于 1 1 2 1 2 3 4 2 2
  • MySql如何将varchar(纬度,经度)转换为十进制字段?

    在 mysql 中 我有一个 varchar 其中包含 Google 地图提供的纬度和经度 我需要能够基于边界框值进行查询 但不需要现在可用的地理特征 我正在尝试使用 varchar 中找到的 Decimal 值填充 2 个新的 Decim
  • 如何通过代码确定Oracle数据类型的字符串值?

    I use DBMS SQL DESCRIBE COLUMNS过程来确定 SELECT 查询的结果集中的列使用什么数据类型 但不幸的是这样我只能得到Oracle数据类型的代码 record col type 1 8 12 等 所以我想知道
  • Oracle 中仅在一列上不同

    我想在下表中使用不同的值 但仅在 PlayerID 列上使用 这就是我现在所拥有的 MATCHID PLAYERID TEAMID MATCHDATE STARTDATE 20 5 2 14 JAN 12 01 JUN 11 20 5 4
  • 在 MySQL 中将值设置为 NULL

    我想要一个值被设置为NULL如果我提交的表单中的文本框中没有输入任何内容 我怎样才能做到这一点 我试过插入 NULL 但这只是添加了这个词NULL进入现场 我不确定我应该为此提供什么代码 我只是编写一个 UPDATE 查询 不要放NULL更
  • JavaPreparedStatementUTF-8字符问题

    我有一份准备好的声明 PreparedStatement st 在我的代码中 我尝试使用 st setString 方法 st setString 1 userName userName 的值为 ak a setString 方法将 ak
  • Tomcat JDBC 池中没有足够的空闲连接

    给定以下 Tomcat JDBC 连接设置

随机推荐

  • 多台服务器虚拟化共享,通过资源充分共享提升利用率,虚拟化技术是行业标准...

    服务器虚拟化是IT基础架构得以资源共享 共享的作法 也是未来机房的重要元素之一 虚拟化是使用所谓的虚拟机管理程序软件从一台物理设备创建若干虚拟机 VM 的过程 虚拟机的行为和运转方式与物理机器一样 但它们会使用物理机器的计算资源 如 CPU
  • 以太坊开发入门,完整入门篇

    从入门到精通 干货篇 必读 如果你 是一个专业的程序员 如果你想了解以太坊当前可以做到什么程度 通过什么 如何做到 预备知识 你需要知道区块链的概念及实现一个无需信任的电子货币的运作原理 可以先看看长版 如果你觉得太长 可以看看短版 但我还
  • 基于Vue + SpringBoot的支付宝支付功能【沙箱测试】

    1 演示说明 1 1 先来看看最终效果 2 1 说明 这并不是真正的支付 是支付宝提供的一个测试 之所以没有使用正式的支付 是因为支付宝 微信也是 不提供个人开发者功能 只有商户审核通过了才可以有这个功能 所有这里使用的是沙箱测试 2 环境
  • DPDK Rx flexible descriptor 在Intel E810 网卡中的使用

    什么是Rx flexible descriptor Intel E810系列网卡支持Rx flexible descriptor 这是一种可以通过软件定义格式并配置到网卡硬件中的Rx descriptor 接收描述符 Flexible de
  • 数据提取之lxml

    1 lxml的认识 在前面学习了xpath的语法 那么在代码中我们如何使用xpath呢 对应的我们需要lxml 安装方式 pip install lxml 2 lxml的使用 2 1 lxml模块的入门使用 1 导入lxml 的 etree
  • 4.HLSL Effect(效果框架)

    4 HLSL Effect 效果框架 进行到这里 读者可能会觉得使用着色器多少有些繁琐 Effect 效果框架 被提出以解决这些问题 作为一种方法 Effect简化了使用着色器的操作 作为一个框架 Effect把顶点着色器和像素着色器有机地
  • 11.网络爬虫—多线程详讲与实战

    11 网络爬虫 多线程详讲与实战 程序 进程 线程 线程常用方法 多线程的优点 join 案例 共享全局变量资源竞争 互斥锁 死锁 互斥锁 死锁 多线程实战 某果多线程实战 前言 个人简介 以山河作礼 Python领域新星创作者 CSDN实
  • mysql查询前5条记录_各个数据库中,查询前n条记录的方法

    SQL查询前10条的方法为 1 select top X from table name 查询前X条记录 可以改成需要的数字 比如前10条 2 select top X from table name order by colum name
  • 【Python技巧】(虚拟环境报错、pycharm)无法加载文件 ...\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本。

    一 问题出现 使用Pycharm设置虚拟环境后 打开终端出现如下报错 无法加载文件 venv Scripts activate ps1 因为在此系统上禁止运行脚本 二 解决方式 已管理员的身份打开powershell终端 然后查询get e
  • c++ main函数调用 类中的枚举_利用Doxygen给C程序生成注释文档

    利用Doxygen为C程序生成注释文档 一 Doxygen工具的安装 利用Doxygen工具生成API帮助文档需要下载安装以下三个软件 1 Doxygen 可以从一套归档源文件开始 生成HTML格式的在线类浏览器 或离线的 LATEX RT
  • 图像去雾算法学习

    现有的图像采集设备对外界环境的干扰非常敏感 在雾霾环境中 获取的户外图像往往退化严重 主要表现为场景特征信息模糊 对比度低 色彩失真 不利于计算机视觉系统对图像真实特征的提取 从而影响其后续的分析 理解 识别等一系列处理 很大程度上降低了视
  • vue3.0安装sass(scss)以及报错解决

    本篇文章主要记录了笔者安装sass的过程 1 安装ruby 首先在官网中下载 https rubyinstaller org downloads 下载之后进行安装 在安装过程中 要记得勾选添加环境变量的选项 其他的就是一直next就可以了
  • jq的核心函数

    jquery的核心函数 1 代表接受一个函数 也就是我们平常用的入口函数 2 接受一个字符串 2 1 接受一个字符串选择器 2 2 接受一个代码片段 3 接受一个dom对象 会被包装成jquery对象返回给我们
  • apk内部存储路径

    首先内部存储路径为 data data youPackageName 下面讲解的各路径都是基于你自己的应用的内部存储路径下 所有内部存储中保存的文件在用户卸载应用的时候会被删除 一 files Context getFilesDir 该方法
  • 数据结构之链栈

    栈介绍 首先 它是一个线性表 准确的说 应该是一个插入 删除受限制的线性表 它仅仅在表尾进行插入和删除操作的线性表 我们把这种受限制的线性表称为栈 如果栈的元素在使用时出现了元素变化不可预测的情况 有时很大 有时又很小 这种情况下 则建议使
  • linux查看jvm内存

    查看内存大小 free h free命令相关知识 判断Java程序对内存的消耗 top top命令相关知识 查看tomcat信息 ps ef grep tomcat 4 1分析内存实例 pid 21069 使用jmap来查看jvm的堆的快照
  • MySQL数据库基本操作

    一 数据库的操作 CURD 重点 1 创建数据库的语法 基本语法 create database 数据库名称 2 查看数据库 show databases 查看所有数据库 use 数据库名称 使用数据库 show create databa
  • Node.js 应用的御用品: Node.js 错误处理系统

    开发中 有些开发者会积极寻求处理错误 力求减少开发时间 但也有些人完全忽略了错误的存在 正确处理错误不仅意味着能够轻松发现和纠正错误 而且还意味着能够为大型应用程序开发出稳健的代码库 特别是对于 Node js 开发人员 他们有时会也发现自
  • 上班一个月,我的几点体会

    这篇博文其实在去年就已经在CSDN发过的 后来 某次误操作不小心删除了 今天找出来重新发一下 我是从3月1号开始上班的 今天3月31号 刚好一个月结束 在这一个月里 我收获不少 感受颇深 现谈谈自己的几点感受 与大家分享 1 由于在学校里做
  • JDBC与MySQL数据库的连接

    一 Jdbc连接池 概念 一个容器 存放数据库连接的容器 好处 节约资源 用户访问高效 规范 1 用连接池管理连接 可以重复利用 2 不是 自己创建连接 而是通过连接池获取连接 3 使用完之后调用连接的close 方法归还连接 不是关闭连接