1. 程式人生 > >JDBC實現簡單的增刪改查

JDBC實現簡單的增刪改查

exceptio 介紹 cde sna arch png into 註冊 sets

JDBC的開發步驟
* a: 步驟介紹
1.註冊驅動
告知JVM使用的是哪一個數據庫的驅動
2.獲得連接
使用JDBC中的類,完成對MySQL數據庫的連接
3.獲得語句執行平臺
通過連接對象獲取對SQL語句的執行者對象
4.執行sql語句
使用執行者對象,向數據庫執行SQL語句
獲取到數據庫的執行後的結果
5.處理結果
6.釋放資源 一堆close()

一.準備工作

1.數據庫的安裝與配置(省略了)

2.導入mysql數據庫驅動程序jar包

a.創建lib目錄,用於存放當前項目需要的所有jar包

技術分享圖片

b. 選擇jar包,右鍵執行build path / Add to Build Path

  將要導入的jar包復制到lib文件夾下,然後右鍵選擇build path---->add to build path

  如果出現如下所示的文件即導入成功了。

技術分享圖片

3.導入一些需要的包

技術分享圖片

二.實現增刪改查

1.數據準備:創建數據庫和表結構

以下是在數據庫中操作的

//創建數據庫
create database mybase;
//創建分類表
CREATE TABLE sort(
sid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(100),
sprice DOUBLE,
sdesc VARCHAR(500)
);
//初始化數據
insert into sort(sname,sprice,sdesc) values(‘家電‘,2000, ‘優惠的促銷‘);
insert into sort(sname,sprice,sdesc) values(
‘家具‘,8900, ‘家具價格上調,原材料漲價‘); insert into sort(sname,sprice,sdesc) values(‘兒童玩具‘,290, ‘賺家長的錢‘); insert into sort(sname,sprice,sdesc) values(‘生鮮‘,500.99, ‘生鮮商品‘); insert into sort(sname,sprice,sdesc) values(‘服裝‘,24000, ‘換季銷售‘); insert into sort(sname,sprice,sdesc) values(‘洗滌‘,50, ‘洗發水促銷‘);

通過查詢語句SELECT * FROM sort; 可以看到數據插入成功了

技術分享圖片

2.insert

package harbin.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;

public class JDBCDemo {
    
    public static void main(String []args) throws ClassNotFoundException, SQLException{
        
        Class.forName("com.mysql.jdbc.Driver");//註冊驅動
        String url  = "jdbc:mysql://localhost:3306/mybase";//獲得數據庫連接
        String username = "root"; //登陸數據庫的用戶名和密碼
        String password = "682436498";
        Connection con = DriverManager.getConnection(url,username,password);
        
        String sql = "INSERT INTO sort(sname,sprice,sdesc) VALUES(?,?,?)";
        PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
        pst.setString(1, "汽車用品");
        pst.setInt(2, 50000);
        pst.setString(3, "瘋狂漲價");
        int row = pst.executeUpdate();
        System.out.println(row);  //打印結果為1,表示插入成功了

      con.close();
      pst.close();

      
    }
}

在數據庫中可以看到插入成功了

技術分享圖片

3.update

package harbin.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;

public class JDBCDemo {
    
    public static void main(String []args) throws ClassNotFoundException, SQLException{
        
        Class.forName("com.mysql.jdbc.Driver");//註冊驅動
        String url  = "jdbc:mysql://localhost:3306/mybase";//獲得數據庫連接
        String username = "root"; //登陸數據庫的用戶名和密碼
        String password = "682436498";
        Connection con = DriverManager.getConnection(url,username,password);
        
        String sql = "UPDATE sort SET sname=?,sprice=? WHERE sid=?";
        PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
        pst.setString(1, "汽車美容");
        pst.setInt(2, 49888);
        pst.setInt(3, 7);
        int row = pst.executeUpdate();
        System.out.println(row);        
        con.close();
        pst.close();
    }
}

數據庫中結果已經更新

技術分享圖片

4.delete

package harbin.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;

public class JDBCDemo {
    
    public static void main(String []args) throws ClassNotFoundException, SQLException{
        
        Class.forName("com.mysql.jdbc.Driver");//註冊驅動
        String url  = "jdbc:mysql://localhost:3306/mybase";//獲得數據庫連接
        String username = "root"; //登陸數據庫的用戶名和密碼
        String password = "682436498";
        Connection con = DriverManager.getConnection(url,username,password);
        
        String sql = "DELETE FROM sort WHERE sid =?";
        PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
        pst.setInt(1, 7);

        int row = pst.executeUpdate();
        System.out.println(row);        
        con.close();
        pst.close();
    }
}

數據庫中可以看到sid=7的已經被刪除了

技術分享圖片

5.select

package harbin.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;

public class JDBCDemo {
    
    public static void main(String []args) throws ClassNotFoundException, SQLException{
        
        Class.forName("com.mysql.jdbc.Driver");//註冊驅動
        String url  = "jdbc:mysql://localhost:3306/mybase";//獲得數據庫連接
        String username = "root"; //登陸數據庫的用戶名和密碼
        String password = "682436498";
        Connection con = DriverManager.getConnection(url,username,password);
        
        String sql = "SELECT * FROM sort WHERE sname=? AND sprice=?";
        PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql);
        pst.setString(1,"家電");
        pst.setInt(2,2000);
        
        ResultSet rs = pst.executeQuery();
        int col = rs.getMetaData().getColumnCount();
        while(rs.next()){
            for(int i=1;i<=col;i++){
                System.out.println(rs.getString(i));
            }
        }
    
        con.close();
        pst.close();
    }
}

輸出結果為:

技術分享圖片

可以看到與數據庫中的一致

技術分享圖片

JDBC實現簡單的增刪改查