广告
返回顶部
首页 > 资讯 > 数据库 >使用JDBC连接Mysql数据库时需要注意哪些事项
  • 741
分享到

使用JDBC连接Mysql数据库时需要注意哪些事项

2024-04-02 19:04:59 741人浏览 独家记忆
摘要

使用JDBC连接Mysql数据库时需要注意哪些事项?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先理清几个概念:JDBC:j

使用JDBC连接Mysql数据库时需要注意哪些事项?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

首先理清几个概念:

  • JDBC:java数据库连接,是Orical公司的指定的一套规范接口

  • java数据库驱动:JDBC的实现类,由相应的数据库厂商提供,可以通过驱动去操作不同的数据库

  • 在java-数据库这里,jdbc-api中的所有包都是java.sql或者javax.sql

JDBC的操作步骤:

 (1)建立数据库和表

 (2)创建项目

 (3)导入驱动jar

 (4)注册驱动

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

 (5)获取连接

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:端口号/项目名", "登录名", "密码");

前言

最近安装了一个 mysql 8.0 版本的数据库,在程序中连接的时候可谓是状况不断。之前也会遇到一些问题,这里就对使用 JDBC 连接mysql 会出现的问题做一个汇总。

在此之前说明一下环境:

  • 开发工具idea

  • mysql版本: 8.0.12 for Win64 on x86_64 (MySQL CommUnity Server - GPL)

  • mysql驱动包:8.0.12

驱动包URL 的改变

异常信息

Loading class com.mysql.jdbc.Driver. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver. The driver is automatically reGIStered via the SPI and manual loading of the driver class is generally unnecessary.

原因

通过异常我们可以发现,新的驱动url是com.mysql.cj.jdbc.Driver,经过在网上查阅资料发现,从 mysql6开始,驱动包开始使用新的驱动 url。如果使用旧的 5.0 版本的驱动包,则不用驱动URL,但是如果使用旧的驱动可能会出现一些意想不到的问题。所以还是建议将驱动包升级,然后改变 驱动 URL 的值。

解决方法

将驱动 URL 由com.mysql.jdbc.Driver 换成 com.mysql.cj.jdbc.Driver

SSL 警告

警告信息

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连接。根据MySQL 5.5.45+,如果未设置显式选项,则默认情况下必须建立5.6.26+和5.7.6+要求的SSL连接。对于不使用SSL的现有应用程序,ValuyServer证书属性设置为“false”。您需要通过设置useSSL=false来显式禁用SSL,或者设置useSSL=true并提供用于服务器证书验证的信任库`。

解决方法

一般在开发中基本不需要使用 SSL 连接,在连接字符串后添加useSSL=false参数就行。但是如果真的有 SSL 连接的需要,则在驱动 URL 后添加useSSL=true参数。

jdbc:mysql://localhost:3306/dbname?characterEncoding=UTF-8&useSSL=false

时区问题

异常信息

java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

原因

同样也是由于版本升级后,新的版本数据库和系统之间有了时区差异,需要指定时区serverTimezone

解决方法

连接字符串后添加参数&serverTimezone=GMT%2B8,最终连接字符串如下:

jdbc:mysql://localhost:3306/dbname?characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8

修改数据库时间。先通过命令行连上数据库,依次输入命令及其输出如下

mysql> show variables like "%time_zone";
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone |  |
| time_zone  | SYSTEM |
+------------------+--------+
2 rows in set, 1 warning (0.04 sec)

mysql> set global time_zone="+8:00";
Query OK, 0 rows affected (0.01 sec)

XML 配置文件中 & 的转义

异常信息

org.mybatis.generator.exception.XMLParserException: XML Parser Error on line 16: 对实体 “useSSL” 的引用必须以 ‘;' 分隔符结尾。

原因

这是我在使用mybatis generator时出现的错误。当时我想在连接字符串后加上useSSL参数,但是由于在 XML 文件中,&是被禁止的,所以需要使用 &的时要用它的转义&来代替。

解决方法

将连接字符串中的 &符号改成&

详细连接字符串参考

jdbc:mysql://127.0.0.1:3306/dbname?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&serverTimezone=GMT%2B8&verifyServerCertificate=false&autoReconnct=true&autoReconnectForPools=true&allowMultiQueries=true

当然如果是使用 XML 作为配置文件,需要将 连接字符串中的 &符号改成&

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网数据库频道,感谢您对编程网的支持。

您可能感兴趣的文档:

--结束END--

本文标题: 使用JDBC连接Mysql数据库时需要注意哪些事项

本文链接: https://www.lsjlt.com/news/55416.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用JDBC连接Mysql数据库时需要注意哪些事项
    使用JDBC连接Mysql数据库时需要注意哪些事项?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先理清几个概念:JDBC:j...
    99+
    2022-10-18
  • PHP连接数据库要注意哪些事项
    在使用PHP连接数据库时,需要注意以下几个事项:1. 数据库配置:确保数据库的连接配置正确,包括主机名、用户名、密码、数据库名等。2...
    99+
    2023-09-26
    php 数据库
  • 使用idea连接mysql要注意哪些事项
    使用IDEA连接MySQL时需要注意以下事项:1. 确保已安装MySQL服务器,并已在服务器上创建了要连接的数据库。2. 在IDEA...
    99+
    2023-10-26
    idea 数据库
  • 在MySQL中使用sleep函数时需要注意哪些事项
    在MySQL中使用sleep函数时需要注意哪些事项?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言MySQL中的系统函数sl...
    99+
    2022-10-18
  • 使用云存储数据时需要注意哪些安全事项
    使用云存储数据时需要注意的安全事项:1、需要做好数据分类,根据数据重要性进行划分;2、需要做好内容保护措施,防止黑客轻易入侵窃取数据;3、需要做好权限管理措施,限制不同用户的数据访问权限,减少人为操作错误的影响;4、需要利用平台工具监控记录...
    99+
    2022-10-22
  • 在python中使用lxml时需要注意哪些事项
    这篇文章将为大家详细讲解有关在python中使用lxml时需要注意哪些事项,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python主要应用领域有哪些1、云计算,典型应用OpenStack。...
    99+
    2023-06-14
  • 在python中使用yield时需要注意哪些事项
    在python中使用yield时需要注意哪些事项?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比...
    99+
    2023-06-14
  • 在java中使用final时需要注意哪些事项
    在java中使用final时需要注意哪些事项?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表...
    99+
    2023-06-14
  • 在Java8中使用Stream时需要注意哪些事项
    在Java8中使用Stream时需要注意哪些事项?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Stream简介Stream是元素的集合,这点让Stream看起来用些类似It...
    99+
    2023-05-30
    java8 stream
  • 使用Java构造器时需要注意哪些事项
    今天就跟大家聊聊有关使用Java构造器时需要注意哪些事项,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java构造器使用方法及注意事项超类的构造器在子类的构造器运行之前运行,也就是说...
    99+
    2023-05-31
    java ava
  • 数据库服务器选购需要注意哪些事项
    本文小编为大家详细介绍“数据库服务器选购需要注意哪些事项”,内容详细,步骤清晰,细节处理妥当,希望这篇“数据库服务器选购需要注意哪些事项”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、较高的多任务处理能力普通的...
    99+
    2023-06-07
  • 在Python中使用requests库提交参数时需要注意哪些事项
    在Python中使用requests库提交参数时需要注意哪些事项?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。字典与json字符串区别# python...
    99+
    2023-06-14
  • MySQL数据恢复要注意哪些事项
    在进行MySQL数据恢复时,需要注意以下几个事项:1.停止数据库服务:在进行数据恢复之前,先停止数据库服务,以免正在运行的数据库操作...
    99+
    2023-09-22
    MySQL
  • MySQL数据导入要注意哪些事项
    在导入MySQL数据时,需要注意以下几个事项:1. 数据格式:确保导入的数据格式与MySQL表的定义相匹配。例如,确保数值字段的值是...
    99+
    2023-09-27
    mysql
  • 导出数据库要注意哪些事项
    导出数据库时需要注意以下几个事项:1. 数据库备份:在导出数据库之前,应该先进行数据库备份,以防止意外数据丢失。2. 数据库版本兼容...
    99+
    2023-09-28
    数据库
  • 访问数据库要注意哪些事项
    访问数据库时需要注意以下事项:1. 数据库连接:确保正确建立数据库连接,并在不使用时及时关闭连接,避免资源泄漏和性能问题。2. 数据...
    99+
    2023-09-22
    数据库
  • 数据库备份要注意哪些事项
    数据库备份是非常重要的,下面是一些备份数据库时需要注意的事项:1. 定期备份:确保定期备份数据库以保持最新的数据备份。备份频率可以根...
    99+
    2023-08-30
    数据库
  • 使用Mybatis进行分页时需要注意哪些事项
    使用Mybatis进行分页时需要注意哪些事项?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 拦截器获取参数,判断是否有Page类1) 使用ThreadLocal 获取/...
    99+
    2023-05-31
    mybatis
  • 使用爬虫代理ip时需要注意哪些事项
    本篇文章为大家展示了使用爬虫代理ip时需要注意哪些事项,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、升级爬虫类战略目标网站的反爬虫战略不仅限制了访问速度,还限制了访问频率、访问次数等,经常升级,...
    99+
    2023-06-15
  • 在java中使用变量时需要注意哪些事项
    本篇文章为大家展示了在java中使用变量时需要注意哪些事项,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、说明每个变量都有类型,类型可以是基本类型,也可以是引用类型。变量名必须是合法的标识符。变量...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作