MySQL 連接代碼
// 1. 加載驅動 (JDBC 4.0+ 可省略,DriverManager 自動發現)
Class.forName("com.mysql.jdbc.Driver").newInstance();
// 2. 構建 URL:指定資料庫、字符集、時區、SSL 關閉
String url = "jdbc:mysql://localhost:3306/website?characterEncoding=utf8&useSSL=false&serverTimezone=UTC";
// 3. 認證信息
String user = "root";
String pwd = "123456";
// 4. 獲取連接
Connection con = DriverManager.getConnection(url, user, pwd);
SQL Server 2008 連接代碼
關鍵差異對照表
| 項目 | MySQL | SQL Server 2008 |
| 驅動類 | com.mysql.jdbc.Driver | com.microsoft.sqlserver.jdbc.SQLServerDriver |
| 默認端口 | 3306 | 1433 |
| URL 參數分隔符 | ? 和 & | ; |
| 資料庫指定方式 | 路徑部分 /dbname | DatabaseName=dbname |
| 字符集設置 | URL 參數 characterEncoding | 驅動默認 UTF-16,通常無需額外設置 |
| 常用驅動 JAR | mysql-connector-java-x.x.x.jar | sqljdbc4.jar (JDK 6+) |
通用最佳實踐
- 生產環境**務必使用連接池**(HikariCP/Druid),不要直接
DriverManager.getConnection。
- URL 中顯式指定
useSSL=false (MySQL 5.7+)、serverTimezone=UTC 避免時區坑。
- 密碼不寫死代碼,讀取配置中心/環境變量/加密配置文件。
- 使用
try-with-resources 自動關閉連接/Statement/ResultSet。
- SQL Server 需啟用 TCP/IP 協議(SQL Server Configuration Manager),並確保防火牆放行 1433。