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

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

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

正在使用的连接参数:

  • useOldAliasMetadataBehavior=true
  • useUnicode=true
  • characterEncoding=UTF-8

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

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

【问题讨论】:

  • 我工作的用例,添加或删除连接参数 - 因此我必须根据需要更改连接字符串!

标签: java mysql jdbc


【解决方案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 或属性文档中,这仍然没有错。
猜你喜欢
  • 1970-01-01
  • 2013-12-14
  • 1970-01-01
  • 2014-03-31
  • 1970-01-01
  • 2016-03-18
  • 1970-01-01
  • 1970-01-01
  • 2021-12-06
相关资源
最近更新 更多