java - 为什么 JDBC 将端口 0 视为与空(默认)端口相同?

标签 java jdbc mariadb

在我正在开发的系统上,我必须连接不同主机和端口上的多个数据库,问题是: 我试图通过 JDBC 连接到达 jdbc:mariadb://127.0.0.1:3306/testdb ,一切都很好,但我也可以传递 jdbc:mariadb://127.0.0.1:0/testdb 并且连接仍然存在有效。

阅读 JDBC 文档:https://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html

我发现“host:port是托管数据库的计算机的主机名和端口号。如果未指定,则主机和端口的默认值分别为127.0.0.1和3306。”

但是端口被指定为 0。 我应该忽略 ZERO 作为端口吗?

最佳答案

端口 0 是保留端口,不可用于一般用途。 (引用:here,通过here)。显然,MariaDB JDBC 驱动程序能够识别这一点,并且如果指定了端口 0,则仅使用默认端口值 (3306)。

关于java - 为什么 JDBC 将端口 0 视为与空(默认)端口相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51715717/

相关文章:

java - 基于 Java 的开源框架具有许多开箱即用的常用功能?

java - 单击按钮时将焦点设置到 EditText

mysql - Elastic Search 使用 River-jdbc 与远程 mysql 服务器同步数据

javascript - Node.js 中 Sequelize 的弃用警告

java - Java的instanceof能否区分功能相同的类?

java - 无法在 webview 中使用 appium android 找到混合应用程序的 webelement

java - 在 Debian Linux 机器上用 Java 连接 MS Access

java - 关闭 java PreparedStatement 和 ResultSets

mysql - 加入后获得团体最大值(value)

php - Laravel 中的 JSON 给出错误 SQLSTATE[42000] : check the manual that corresponds to your MariaDB server