You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
要求如果未設置顯式選項,則默認情況下必須建立SSL連接。 為了與不使用SSL的現有應用程序兼容,將verifyServerCertificate屬性設置為'false'。 您需要通過設置useSSL = false來顯式禁用SSL,或者設置useSSL = true並為服務器證書驗證提供信任庫。
解決辦法:
所以為了配合他們的要求,且不為我學習jdbc添加困難,我們選擇禁用:
您需要通過設置useSSL = false顯式禁用SSL,或者設置useSSL = true並為服務器證書驗證提供信任庫。
所以,在填寫c3p0-config.xml配置文件時,在url一欄添加useSSL=false
jdbc:mysql://localhost:3306/test?&useSSL=false&serverTimezone=UTC
C3P0連接池配置一些參數
參數名稱 | 參數說明 |
---|---|
user | 數據庫用戶名(用於連接數據庫) |
password | 用戶密碼(用於連接數據庫) |
useUnicode | 是否使用Unicode字符集,如果參數characterEncoding設置為gb2312或gbk,本參數值必須設置為true |
characterEncoding | 當useUnicode設置為true時,指定字符編碼。比如可設置為gb2312或gbk |
autoReconnect | 當數據庫連接異常中斷時,是否自動重新連接? |
autoReconnectForPools | 是否使用針對數據庫連接池的重連策略 |
failOverReadOnly | 自動重連成功后,連接是否設置為只讀? |
maxReconnects | autoReconnect設置為true時,重試連接的次數 |
initialTimeout | autoReconnect設置為true時,兩次重連之間的時間間隔,單位:秒 |
connectTimeout | 和數據庫服務器建立socket連接時的超時,單位:毫秒。 0表示永不超時,適用於JDK 1.4及更高版本 |
socketTimeout | socket操作(讀寫)超時,單位:毫秒。 0表示永不超時 |