具有多个连接参数的 MySQL 连接字符串?

Posted

技术标签:

【中文标题】具有多个连接参数的 MySQL 连接字符串?【英文标题】:Connection string for MySQL with multiple connection parameters? 【发布时间】:2016-11-29 17:43:36 【问题描述】:

参考这个question,我正在尝试使用以下连接参数构建连接字符串以连接到 mysql 数据库,但我无法正确处理。

我已经提到了帖子所指的documentation,但即使按照说明进行操作,我也无法解决。有人可以在这方面帮助我吗?

正在使用的连接参数:

useOldAliasMetadataBehavior=true useUnicode=true characterEncoding=UTF-8

普通连接字符串:jdbc:mysql://localhost:3307/databaseName

加上这些连接参数及其对应的值,连接字符串会是怎样的呢?

【问题讨论】:

我工作的用例,添加或删除连接参数 - 因此我必须根据需要更改连接字符串! 【参考方案1】:

根据reference documentation,应该是:

jdbc:mysql://localhost:3307/databaseName?useOldAliasMetadataBehavior=true&unicode=true&characterEncoding=UTF-8

但是,标准端口是 3306 而不是您问题中的 3307。

【讨论】:

你有一个正确的观点!而我安装了两个版本的 MySQL,因此为这些使用了 2 个端口! 只是觉得值得一提。 感谢@Arthur Noseda 提供的信息,您的评论肯定对其他人有所帮助!干杯!【参考方案2】:

只要拼接url之类的参数,例如:

jdbc:MySql://localhost:3307/databaseName?characterEncoding=UTF-8&useUnicode=true&useOldAliasMetadataBehavior=true

如果您的连接字符串保存在 XML 或属性文档中,您需要将 & 编码为 &,如下所示:

jdbc:MySql://localhost:3307/databaseName?characterEncoding=UTF-8&useUnicode=true&useOldAliasMetadataBehavior=true

【讨论】:

您需要对此进行编码 如果 连接字符串被保存在 XML 文档中。不然。问题中没有关于 XML 的内容。 另外jdbc:MySql:不是MySQL驱动的前缀,即jdbc:mysql: @MarkRotteveel jdbc:mysql: 可以写成大写。没关系 @EJP 是的,你是对的。但在我的工作中,我始终坚持这样做,即使连接字符串没有保存在 XML 或属性文档中,这仍然没有错。

以上是关于具有多个连接参数的 MySQL 连接字符串?的主要内容,如果未能解决你的问题,请参考以下文章

oracle 数据库code 拼接字段如何转换成文字

从 MySQL 中具有不同列的表的多个连接结果中删除重复项

MariaDB/MySQL UPDATE 语句具有多个连接,包括范围连接

Mysql连接字符,字段函数concat()

具有多个查询的NodeJS mysql连接池

SQL— CONCAT(字符串连接函数)