Java連接mysql需要驅動包,即jar包。
mysql8.0之前的版本與之后的版本使用的jar包是不同的,在使用時也有一定的區別。
1、連接數據庫需要四個信息:驅動名、數據庫url、用戶名和密碼,一般被聲明為靜態常量。
// MySQL 8.0 以下版本 - JDBC 驅動名及數據庫 URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB"; // MySQL 8.0 以上版本 - JDBC 驅動名及數據庫 URL //static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; //static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&serverTimezone=UTC"; //我用的url
//final static String url = "jdbc:mysql://localhost:3306/myblog?useUnicode=true&characterEncoding=UTF-8"
+ "&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true"; // 數據庫的用戶名與密碼,需要根據自己的設置 static final String USER = "root"; static final String PASS = "123456";
2、對數據庫操作一般分為三個步驟:
a、注冊驅動和連接數據庫
// 注冊 JDBC 驅動 Class.forName(JDBC_DRIVER); // 打開鏈接 System.out.println("連接數據庫..."); Connection conn = DriverManager.getConnection(DB_URL,USER,PASS);
b、進行增刪改查等數據操作,參考https://www.cnblogs.com/xsmile/p/7995124.html
// 執行查詢 System.out.println(" 實例化Statement對象..."); Statement stmt = conn.createStatement(); String sql; sql = "SELECT id, name, url FROM websites"; ResultSet rs = stmt.executeQuery(sql); // 展開結果集數據庫 while(rs.next()){ // 通過字段檢索 int id = rs.getInt("id"); String name = rs.getString("name"); String url = rs.getString("url"); // 輸出數據 System.out.print("ID: " + id); System.out.print(", 站點名稱: " + name); System.out.print(", 站點 URL: " + url); System.out.print("\n"); }
c、按順序關閉資源
rs.close();
stmt.close();
conn.close();