eclipse(Java)對MySQL資料庫進行連線、查詢和修改
阿新 • • 發佈:2019-02-13
(1) 呼叫Class.forName()方法載入驅動程式。
(2) 呼叫DriverManager物件的getConnection()方法,獲得一個Connection物件。
(3) 建立一個Statement物件,準備一個SQL語句,這個SQL語句可以是Statement物件(立即執行的的語句)、PreparedStatement語句(預編譯的語句)或CallableStatement物件(儲存過程呼叫的語句)。
(4) 呼叫excuteQuery()等方法執行SQL語句,並將結果儲存在ResultSet物件;或者呼叫executeUpdate()等方法執行SQL語句,不返回ResultSet物件的結果。
(5)對返回的ResultSet物件進行顯示等相當的處理。
(6)釋放資源。
1. 連線資料庫
(1) 下載Mysql連線驅動
(2) 載入JDBC驅動
操作方法:在Eclipse中,選中相應的工程,點選Project-Properties中的Java Build Path,在Libraries中增加mysql-connector-java-5.1.21-bin.jar,點OK。
(3) 建一個簡單的資料庫如下:
import java.sql.*; public class GetConnection { publicstatic void main(String[] args){ try{ //呼叫Class.forName()方法載入驅動程式 Class.forName("com.mysql.jdbc.Driver"); System.out.println("成功載入MySQL驅動!"); }catch(ClassNotFoundException e1){ System.out.println("找不到MySQL驅動!"); e1.printStackTrace(); } String url="jdbc:mysql://localhost:3306/mysql"; //JDBC的URL //呼叫DriverManager物件的getConnection()方法,獲得一個Connection物件 Connection conn; try { conn = DriverManager.getConnection(url, "root",""); //建立一個Statement物件 Statement stmt = conn.createStatement(); //建立Statement物件 System.out.print("成功連線到資料庫!"); stmt.close(); conn.close(); } catch (SQLException e){ e.printStackTrace(); } } }
2. 查詢資料表
在詢資料表時,需要用到ResultSet介面,它類似於一個數據表,通過該介面的例項可以獲得檢索結果集,以及對應資料表的介面資訊。
import java.sql.*; public class SelectTable { public static void main(String[] args){ try{ //呼叫Class.forName()方法載入驅動程式 Class.forName("com.mysql.jdbc.Driver"); System.out.println("成功載入MySQL驅動!"); String url="jdbc:mysql://localhost:3306/aniu"; //JDBC的URL Connection conn; conn = DriverManager.getConnection(url, "root",""); Statement stmt = conn.createStatement(); //建立Statement物件 System.out.println("成功連線到資料庫!"); String sql = "select * from stu"; //要執行的SQL ResultSet rs = stmt.executeQuery(sql);//建立資料物件 System.out.println("編號"+"\t"+"姓名"+"\t"+"年齡"); while (rs.next()){ System.out.print(rs.getInt(1) + "\t"); System.out.print(rs.getString(2) + "\t"); System.out.print(rs.getInt(3) + "\t"); System.out.println(); } rs.close(); stmt.close(); conn.close(); }catch(Exception e) { e.printStackTrace(); } } }
3. 修改和刪除資料庫
//修改刪除資料 import java.sql.*; public class UpdateDeleteDemo { public static void main(String[] args)throws Exception{ try{ //呼叫Class.forName()方法載入驅動程式 Class.forName("com.mysql.jdbc.Driver"); System.out.println("成功載入MySQL驅動!"); String url="jdbc:mysql://localhost:3306/aniu"; //JDBC的URL Connection conn; conn = DriverManager.getConnection(url, "root",""); Statement stmt = conn.createStatement(); //建立Statement物件 System.out.println("成功連線到資料庫!"); //查詢資料的程式碼 String sql = "select * from stu"; //要執行的SQL ResultSet rs = stmt.executeQuery(sql);//建立資料物件 System.out.println("編號"+"\t"+"姓名"+"\t"+"年齡"); while (rs.next()){ System.out.print(rs.getInt(1) + "\t"); System.out.print(rs.getString(2) + "\t"); System.out.print(rs.getInt(3) + "\t"); System.out.println(); } //修改資料的程式碼 String sql2 = "update stu set name=? where number=?"; PreparedStatement pst = conn.prepareStatement(sql2); pst.setString(1,"8888"); pst.setInt(2,198); pst.executeUpdate(); //刪除資料的程式碼 String sql3 = "delete from stu where number=?"; pst = conn.prepareStatement(sql3); pst.setInt(1,701); pst.executeUpdate(); ResultSet rs2 = stmt.executeQuery(sql);//建立資料物件 System.out.println("編號"+"\t"+"姓名"+"\t"+"年齡"); while (rs.next()){ System.out.print(rs2.getInt(1) + "\t"); System.out.print(rs2.getString(2) + "\t"); System.out.print(rs2.getInt(3) + "\t"); System.out.println(); } rs.close(); stmt.close(); conn.close(); }catch(Exception e) { e.printStackTrace(); } } }