Java連線MySQL資料庫——含步驟和程式碼
工具:eclipse
MySQL5.6
MySQL連線驅動:mysql-connector-java-5.1.27.jar
載入驅動:
1. 在工程目錄中建立lib資料夾,將下載好的JDBC放到該資料夾下,如下圖所示:
2. 右鍵工程名,在java build path中的Libraries分頁中選擇Add JARs...,選擇剛才新增的JDBC,如下圖:
資料包準備:
在資料庫sqltestdb中建立如下資料表emp:
1 2 3 4 5 6 7 |
(10),
|
新增資料:
連線資料庫並讀取資料:
資料庫名稱:sqltestdb
資料包名稱:emp
埠號:3306
使用者名稱:root
密碼:root
package com.cn.peitest.tongBu; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;public class TongBu { public static void main(String[] args) { //宣告Connection物件 Connection con; //驅動程式名 String driver = "com.mysql.jdbc.Driver"; //URL指向要訪問的資料庫名mydata String url = "jdbc:mysql://localhost:3306/pei_test"; //MySQL配置時的使用者名稱 String user = "root";//MySQL配置時的密碼 String password = "123456"; //遍歷查詢結果集 try { //載入驅動程式 Class.forName(driver); //1.getConnection()方法,連線MySQL資料庫!! con = DriverManager.getConnection(url,user,password); if(!con.isClosed()) System.out.println("Succeeded connecting to the Database!"); //2.建立statement類物件,用來執行SQL語句!! Statement statement = con.createStatement(); //要執行的SQL語句 String sql = "select * from blade_user"; //3.ResultSet類,用來存放獲取的結果集!! ResultSet rs = statement.executeQuery(sql); System.out.println("-----------------"); System.out.println("執行結果如下所示:"); System.out.println("-----------------"); System.out.println("姓名" + "\t" + "職稱"); System.out.println("-----------------"); String job = null; String id = null; while(rs.next()){ //獲取stuname這列資料 job = rs.getString("job"); //獲取stuid這列資料 id = rs.getString("ename"); //輸出結果 System.out.println(id + "\t" + job); } rs.close(); con.close(); } catch(ClassNotFoundException e) { //資料庫驅動類異常處理 System.out.println("Sorry,can`t find the Driver!"); e.printStackTrace(); } catch(SQLException e) { //資料庫連線失敗異常處理 e.printStackTrace(); }catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ System.out.println("資料庫資料成功獲取!!"); } } }
執行結果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
增加、刪除和修改資料:
增加資料:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
執行結果:
更新資料:
1 2 3 4 5 6 |
|
更改結果:
刪除資料:
1 2 3 4 5 6 |
|
刪除結果:
private List<Map<String, Object>> list = new ArrayList<Map<String,Object>>(); public String queryAll() { Connection conn = null; Statement sta = null; ResultSet rs = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/easyui", "root", "root"); sta = conn.createStatement(); rs = sta.executeQuery("select * from e_user"); ResultSetMetaData md = rs.getMetaData(); //獲得結果集結構資訊,元資料 int columnCount = md.getColumnCount(); //獲得列數 while (rs.next()) { Map<String,Object> rowData = new HashMap<String,Object>(); for (int i = 1; i <= columnCount; i++) { rowData.put(md.getColumnName(i), rs.getObject(i)); } list.add(rowData); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return "success"; }