java對MySQL操作說白了就是三步:加載驅動—>獲取連接—>執行SQL語句—>顯示結果
這里我想說一下的是執行SQL語句的操作,書寫SQL語句時一定要注意與本來的SQL語句完全一致,就是說SQL中的字符串是有一對單引號引起來的,到你寫在java時也要加上一對單引號,當然執行還有別的方法,這里只說一種,下面是一些簡單的例子:
加載對應驅動
1 String driver = "com.mysql.jdbc.Driver"; 2 Class.forName(driver); // classLoader,加載對應驅動
獲取連接
String url = "jdbc:mysql://127.0.0.1:3306/webstore?useSSL=false";//服務器IP:127.0.0.1 端口:3306 數據庫名:webstore
String username = "root"; //用戶名
String password = "123456"; //示例密碼
Connection conn = (Connection) DriverManager.getConnection(url, username, password); //獲取連接
執行SQL語句
//向products表插入一條數據
public void add(String id, String pname, String brand, float price, int stock) {
//設計可變SQL語句 String sql = "insert into product values('" + id + "','" + pname + "','" + brand + "'," + price + "," + stock + ")"; try { Statement state = (Statement) conn.createStatement(); // 獲取操作聲明 if (state.executeUpdate(sql) != 0) { //把SQL語句發送給MySQL運行 System.out.println("插入數據成功!"); } else { System.out.println("插入數據失敗!"); } state.close(); } catch (SQLException e) { e.printStackTrace(); }
}
1 /**
2 * 顯示product表中的所有數據 3 */
4 public void selectAll() { 5 String sql = "select * from product"; 6 try { 7 Statement statement = (Statement) conn.prepareStatement(sql); 8 ResultSet res = statement.executeQuery(sql); 9 System.out.println("產品ID" + "\t" + "產品名稱" + "\t" + "品牌" + "\t" + "單價" + "\t" + "庫存"); 10 while (res.next()) { 11 System.out.println(res.getString(1) + "\t" + res.getString(2) + "\t" + res.getString(3) + "\t" + res.getFloat(4) +"\t" + res.getInt(5)); 12 } 13 res.close(); 14 statement.close(); 15 } catch (SQLException e) { 16 e.printStackTrace(); 17 } 18 } 19
20 /**
21 * 通過id顯示product表中的數據 22 * @param id 23 */
24 public void selectById(String id) { 25 String sql = "select * from product where id = " + id; 26 try { 27 Statement statement = (Statement) conn.prepareStatement(sql); //獲取操作聲明 28 ResultSet res = statement.executeQuery(sql); //執行MySQL語句並返回結果集 29 System.out.println("產品ID" + "\t" + "產品名稱" + "\t" + "品牌" + "\t" + "單價" + "\t" + "庫存"); 30 while (res.next()) { //輸出結果集的內容
31 System.out.println(res.getString(1) + "\t" + res.getString(2) + "\t" + res.getString(3) + "\t" + res.getFloat(4) +"\t" + res.getInt(5)); 32 } 33 res.close(); 34 statement.close(); 35 } catch (SQLException e) { 36 e.printStackTrace(); 37 } 38 }