Java 连接容器的 MySQL

14 篇文章 0 订阅
3 篇文章 0 订阅

📚前提

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 证书验证警告,如果不希望看见警告,可以通过提示来关闭 SSL 验证。

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

SSL 证书验证是为了增加数据库与客户端之间数据传输的安全性。

📕执行SQL语句

Statement statement = connection.createStatement();
ResultSet resultSet = 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();
statement.close();
connection.close();



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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hjhcos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值