1. 程式人生 > >Java連接MySQL數據庫——含步驟和代碼

Java連接MySQL數據庫——含步驟和代碼

pac 取數據 tac out localhost gets -m () simple

轉自微博:http://www.cnblogs.com/centor/p/6142775.html

工具:eclipse

   MySQL5.6

   MySQL連接驅動:mysql-connector-java-5.1.27.jar(鏈接: https://pan.baidu.com/s/1MmFZ9Hve6rV0tlryM3raeA 密碼: q74m)

加載驅動:

  1. 在工程目錄中創建lib文件夾,將下載好的JDBC放到該文件夾下,如下圖所示:

  技術分享圖片

  2. 右鍵工程名,在java build path中的Libraries分頁中選擇Add JARs...,選擇剛才添加的JDBC,如下圖:

  技術分享圖片

數據包準備:

  在數據庫sqltestdb中創建如下數據表emp:

CREATE TABLE emp(
   empno            INT(4)          PRIMARY KEY,
   ename            VARCHAR(10),
   job              VARCHAR(9),
   hiredate         DATE,
   sal              FLOAT(7,2)
) ;

  

  添加數據:

  技術分享圖片

連接數據庫並讀取數據:

  數據庫名稱:sqltestdb

  數據包名稱:emp

  端口號:3306

  用戶名:root

  密碼:root

 1 package sqldemo;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import java.sql.Statement;
 8 
 9 public class main {
10 
11     public static void main(String[] args) {
12         //聲明Connection對象
13
Connection con; 14 //驅動程序名 15 String driver = "com.mysql.jdbc.Driver"; 16 //URL指向要訪問的數據庫名mydata 17 String url = "jdbc:mysql://localhost:3306/sqltestdb"; 18 //MySQL配置時的用戶名 19 String user = "root"; 20 //MySQL配置時的密碼 21 String password = "123456"; 22 //遍歷查詢結果集 23 try { 24 //加載驅動程序 25 Class.forName(driver); 26 //1.getConnection()方法,連接MySQL數據庫!! 27 con = DriverManager.getConnection(url,user,password); 28 if(!con.isClosed()) 29 System.out.println("Succeeded connecting to the Database!"); 30 //2.創建statement類對象,用來執行SQL語句!! 31 Statement statement = con.createStatement(); 32 //要執行的SQL語句 33 String sql = "select * from emp"; 34 //3.ResultSet類,用來存放獲取的結果集!! 35 ResultSet rs = statement.executeQuery(sql); 36 System.out.println("-----------------"); 37 System.out.println("執行結果如下所示:"); 38 System.out.println("-----------------"); 39 System.out.println("姓名" + "\t" + "職稱"); 40 System.out.println("-----------------"); 41 42 String job = null; 43 String id = null; 44 while(rs.next()){ 45 //獲取stuname這列數據 46 job = rs.getString("job"); 47 //獲取stuid這列數據 48 id = rs.getString("ename"); 49 50 //輸出結果 51 System.out.println(id + "\t" + job); 52 } 53 rs.close(); 54 con.close(); 55 } catch(ClassNotFoundException e) { 56 //數據庫驅動類異常處理 57 System.out.println("Sorry,can`t find the Driver!"); 58 e.printStackTrace(); 59 } catch(SQLException e) { 60 //數據庫連接失敗異常處理 61 e.printStackTrace(); 62 }catch (Exception e) { 63 // TODO: handle exception 64 e.printStackTrace(); 65 }finally{ 66 System.out.println("數據庫數據成功獲取!!"); 67 } 68 } 69 70 }

運行結果:

技術分享圖片

增加、刪除和修改數據:

  增加數據:

String name;
String id;
  
PreparedStatement psql;
ResultSet res;
//預處理添加數據,其中有兩個參數--“?”
psql = con.prepareStatement("insert into emp (empno,ename,job,hiredate,sal) "
        + "values(?,?,?,?,?)");
psql.setInt(1, 3212);              //設置參數1,創建id為3212的數據
psql.setString(2, "王剛");      //設置參數2,name 為王剛
psql.setString(3, "總裁");
 
DateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd");
Date myDate2 = dateFormat2.parse("2010-09-13");
psql.setDate(4,new java.sql.Date(myDate2.getTime()));
psql.setFloat(5, (float) 2000.3);
psql.executeUpdate();           //執行更新

技術分享圖片

更新數據:

 PreparedStatement psql;
//預處理更新(修改)數據,將王剛的sal改為5000.0
psql = con.prepareStatement("update emp set sal = ? where ename = ?");
psql.setFloat(1,(float) 5000.0);      
psql.setString(2,"王剛");             
psql.executeUpdate();

技術分享圖片

刪除數據:

PreparedStatement psql;
//預處理刪除數據
psql = con.prepareStatement("delete from emp where sal > ?");
psql.setFloat(1, 4500);
psql.executeUpdate();
psql.close();

技術分享圖片

Java連接MySQL數據庫——含步驟和代碼