在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

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

105次阅读
没有评论

共计 3168 个字符,预计需要花费 8 分钟才能阅读完成。

自动写代码机器人,免费开通

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

首先理清几个概念:

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‘Ouml; ETH; sup1;ú±ê× frac14; Ecirc;± frac14; auml; 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 文件中,是被禁止的,所以需要使用 的时要用它的转义 amp; 来代替。

解决方法

将连接字符串中的 符号改成 amp;

详细连接字符串参考

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 作为配置文件,需要将 连接字符串中的 符号改成 amp;

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注丸趣 TV 行业资讯频道,感谢您对丸趣 TV 的支持。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计3168字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 立即播放免费毛片一级 | 国精产品一区二区三区有限公司 | 男女朋友做爽爽爽免费视频网 | 爱操综合| 久久久久久久久久毛片精品美女 | 亚洲最大成人网色 | 无码人妻精品一区二区三区9厂 | 丰满人妻在公车被猛烈进入电影 | 欧美性白人极品1819hd | 日本欧美久久久久免费播放网 | 国产91一区二区在线播放不卡 | 欧美大屁股xxxx高跟欧美黑人 | 一本一道av无码中文字幕麻豆 | 中文字幕人妻无码系列第三区 | 国产精品美女一级在线观看 | 久久久久亚洲波多野结衣 | 国产成人无码aⅴ片在线观看 | 看黄a大片 免费 | 日本一级在线观看视频播放 | 亚洲精品成人久久 | 亚洲精品鲁一鲁一区二区三区 | 欧美亚洲一级片 | 国产凹凸在线观看一区二区 | 高清在线一区 | 国产线播放免费人成视频播放 | 韩国精品一区二区三区四区五区 | 成人欧美日韩一区二区三区 | 在线观看的av网站 | 精品国产福利观看在线福祉 | 妞干网在线观看 | 国产精品不卡 | 男人天堂亚洲天堂 | 精品免费久久久久久影院 | 一本色道久久综合狠狠躁篇 | 亚洲在线成人 | 热久久国产欧美一区二区精品 | 亚洲欧洲日产国码无码久久99 | 亚洲小说春色综合另类网蜜桃 | 成人午夜国产内射主播 | 国产成人无码一区二区在线观看 | 天堂一区二区三区精品 |