JDBC連接MYSQL數據庫:
package cn.outofmemory.test; import java.sql.Connection; import java.sql.DriverManager; public class Mysql { public static void main(String arg[]) { try { Connection con = null; //定義一個MYSQL鏈接對象 Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL System.out.print("yes"); } catch (Exception e) { System.out.print("MYSQL ERROR:" + e.getMessage()); } } }
Class.forName(“com.mysql.jdbc.Driver”).newInstance(); 我們鏈接的是MYSQL數據庫,所以需要一個MYSQL的數據庫驅動,如果你的環境中沒有安裝, 可以下載:mysql-connector-java-5.1.17-bin.jar JAR包,然後放進jdk1.6.0_37\jre\lib\ext 重啓eclispe 就可以在JRE系統庫中看到。
con = DriverManager.getConnection;(“jdbc:mysql://127.0.0.1:3306/test”, “root”, “root”); 是鏈接數據庫的語句, 返回Connection con;對象。參數格式:(“jdbc:mysql://ip:端口/數據庫名稱”, 用戶名,密碼)
寫入一條數據
package main; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Mysql { /** * 入口函數 * @param arg */ public static void main(String arg[]) { try { Connection con = null; //定義一個MYSQL鏈接對象 Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL Statement stmt; //創建聲明 stmt = con.createStatement(); //新增一條數據 stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')"); ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()"); int ret_id; if (res.next()) { ret_id = res.getInt(1); System.out.print(ret_id); } } catch (Exception e) { System.out.print("MYSQL ERROR:" + e.getMessage()); } } }
stmt.executeUpdate INSERT; DELETE; UPDATE;語句都用executeUpdate函數來操作 stmt.executeQuery SELECT;語句都用stmt.executeQuery函數來操作 ResultSet res = stmt.executeQuery;(“select LAST;_INSERT_ID()”); 查詢最後插入數據的ID號,返回ResultSet res;對象
刪除和更新數據
package main; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class Mysql { /** * 入口函數 * @param arg */ public static void main(String arg[]) { try { Connection con = null; //定義一個MYSQL鏈接對象 Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL Statement stmt; //創建聲明 stmt = con.createStatement(); //新增一條數據 stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')"); ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()"); int ret_id; if (res.next()) { ret_id = res.getInt(1); System.out.print(ret_id); } //刪除一條數據 String sql = "DELETE FROM user WHERE id = 1"; long deleteRes = stmt.executeUpdate(sql); //如果爲0則沒有進行刪除操作,如果大於0,則記錄刪除的條數 System.out.print("DELETE:" + deleteRes); //更新一條數據 String updateSql = "UPDATE user SET username = 'xxxx' WHERE id = 2"; long updateRes = stmt.executeUpdate(updateSql); System.out.print("UPDATE:" + updateRes); } catch (Exception e) { System.out.print("MYSQL ERROR:" + e.getMessage()); } } }
刪除和更新數據都使用stmt.executeUpdate函數。 刪除和更新數據都會返回一個Long的結果,如果爲0,則刪除或者更新失敗,如果大於0則是操作刪除的記錄數
查詢語句
package main; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; public class Mysql { /** * 入口函數 * @param arg */ public static void main(String arg[]) { try { Connection con = null; //定義一個MYSQL鏈接對象 Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL Statement stmt; //創建聲明 stmt = con.createStatement(); //新增一條數據 stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')"); ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()"); int ret_id; if (res.next()) { ret_id = res.getInt(1); System.out.print(ret_id); } //刪除一條數據 String sql = "DELETE FROM user WHERE id = 1"; long deleteRes = stmt.executeUpdate(sql); //如果爲0則沒有進行刪除操作,如果大於0,則記錄刪除的條數 System.out.print("DELETE:" + deleteRes); //更新一條數據 String updateSql = "UPDATE user SET username = 'xxxx' WHERE id = 2"; long updateRes = stmt.executeUpdate(updateSql); System.out.print("UPDATE:" + updateRes); //查詢數據並輸出 String selectSql = "SELECT * FROM user"; ResultSet selectRes = stmt.executeQuery(selectSql); while (selectRes.next()) { //循環輸出結果集 String username = selectRes.getString("username"); String password = selectRes.getString("password"); System.out.print("\r\n\r\n"); System.out.print("username:" + username + "password:" + password); } } catch (Exception e) { System.out.print("MYSQL ERROR:" + e.getMessage()); } } }
查詢語句使用stmt.executeQuery函數
- rs.absolute() //絕對位置,負數表示從後面數
- rs.first()第一條
- rs.last()最後一條
- rs.previoust()前一條
- rs.next()後一條
- rs.beforeFirst()第一條之前
- rs.afterLast()最後之後
- rs.isFirst(),rs.isLast(),rs.isBeforeFirst(),rs.isAfterLast