如何在MyBatis Generator配置文件中正确格式化MySQL SSL URL?
解决generatorConfiguration XML中MySQL SSL URL连接失败的问题
核心问题定位
对比可正常工作的Java代码与XML配置,两个关键差异导致连接失败:
- 证书路径格式错误:Java代码里
trustCertificateKeyStoreUrl使用file:/opt/...(单斜杠),但XML配置中写成了file://opt/...(双斜杠),这会导致JDBC无法正确解析证书文件路径。 - 额外添加的
autoReconnect=true参数可能干扰SSL连接的建立(Java代码中未使用该参数)。
修正后的XML配置
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://the_host/my_database?requireSSL=true&useSSL=true&verifyServerCertificate=false&trustCertificateKeyStoreUrl=file:/opt/java/jdk1.8.0_241/jre/lib/security/cacerts&trustCertificateKeyStorePassword=changeit" userId="the_username" password="the_password" />
额外注意事项
- 确保MySQL JDBC驱动版本与Java代码中使用的完全一致,避免版本差异引发兼容性问题。
requireSSL和useSSL在部分MySQL驱动版本中功能重叠,保留其中一个即可(如仅保留useSSL=true),减少冗余配置。- 检查证书文件路径的权限,保证运行代码生成工具的用户拥有该cacerts文件的读取权限。
内容的提问来源于stack exchange,提问作者AislingV
相关产品推荐
相关产品推荐

