IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Java 连接容器的 MySQL -> 正文阅读

[大数据]Java 连接容器的 MySQL

📚前提

Java MySQL驱动:https://downloads.mysql.com/archives/c-j/
容器安装MySQL:https://blog.csdn.net/hjh_cos/article/details/123165649

不管是什么语言想要连接MySQL数据库,都需要去下载相应的驱动。

Java 可以通过上面的 MySQL 驱动网址下载与容器 MySQL 对应版本的驱动,其是为一个 jar 包。
在这里插入图片描述

📚正文

其实容器里面的MySQL做了映射以后,和连接本地数据库没有什么区别。

在前面的文章里面,也已经演示过如何通过本地的 navicat 软件去连接容器里面的数据库,和连接本地安装的数据库没有什么区别。

📕流程图

加载JDBC驱动程序
连接数据库管理系统
执行SQL语句
处理结果集
关闭数据库

📕加载JDBC驱动程序

下载好MySQL驱动的 JAR 包以后,将其导入工程。如果你不知道怎么导入 JAR,那么你可以了解一下我的这篇文章【软件导入JAR包】

Class.forName("com.mysql.jdbc.Driver");

这里需要提醒一下,MySQL 8.0 以下版本没有 cj 这个目录,这个目录是在 MySQL 8.0 版本时候添加的。

我的容器之前有介绍是使用 MySQL 5 版本的,因此驱动是 com.mysql.jdbc.Driver 。如果是 MySQL 8.0 版本以上,那么就是 com.mysql.cj.jdbc.Driver

📕连接数据库管理系统

Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306", "root", "root");

通过 getConnection 方法去获取 MySQL 数据库管理系统的连接。

实参1:"jdbc:mysql://localhost:3306" 指明是 MySQL 本地IP端口3306。

实参2:root 指明使用 MySQL 的 root 用户

实参3:root 指明 root 用户的密码

其实这些在 getConnection 方法里面已经有提示参数的含义。

Wed Mar 02 19:20:19 CST 2022 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

当我通过使用这种方法去连接数据库管理系统会遇到 SSL 证书验证问题。

Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306?useSSL=false", "root", "root");

SSL 证书验证是为了增加数据库与客户端之间数据传输的安全性,当然我是本地学习使用,没有必要去考虑数据安全性的问题,因此可以根据提示关闭这项验证。

📕执行SQL语句


ResultSet resultSet = connection.createStatement().statement.executeQuery("select * from java.person");

我这里尝试去获取之前创建的数据,看能否获取到数据。

📕处理结果集

resultSet.next();
System.out.println(resultSet.getString("name"));
System.out.println(resultSet.getInt("age"));
System.out.println(resultSet.getString("sex"));

我以为可以通过增强 for 循环去遍历结果集,显然终究是错付了。
在这里插入图片描述

📕关闭数据库

resultSet.close();
connection.close();



如果你是无意刷到这篇文章并看到这里,希望你给我的文章来一个赞赞👍👍。如果你不同意其中的内容或有什么问题都可以在下方评论区留下你的想法或疑惑,谢谢你的支持!!😀😀

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 16:21:05  更:2022-03-03 16:21:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:56:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码