Java之Mysql數據庫的連接及增刪改查(附代碼)

Java中與數據庫交互的步驟

  1. 新建一個工程
  2. 導包,在工程中導入連接MySQL數據庫所使用的jar包
  3. 連接數據庫
  4. 數據的增刪改查

我的環境

IntelliJ IDEA 、MySQL 5.7.22 、mysql-connector-java-5.1.45-bin.jar
下載jar包地址

導包

新建完一個Java項目後,就導入剛剛下載的jar包。

  1. 點擊左上角的File->Project Strucure
    在這裏插入圖片描述
  2. 點擊Modules->左邊的“+”選擇“1 JARs or directories”
    在這裏插入圖片描述
  3. 在文件夾中選擇剛剛下載的jar包進行導入,完成後如下如所示
    在這裏插入圖片描述

連接MySQL數據庫

步驟

  1. 加載驅動
  2. 創建連接

代碼如下:(可直接copy,只需改動相關數據庫名)

import java.sql.*;

public class DBUtil {
    public String username = "root";
    public String password = "123456";
    private String url="jdbc:mysql://localhost:3306/+"+"你的要連接的數據庫名"+"+?useSSL=true&characterEncoding=utf-8";
    /**
     * 1. 實現數據庫連接的方法
     */
    public Connection getConn() {
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");

            conn = DriverManager.getConnection(url, username, password);
            System.out.println("連接數據庫成功.");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }

    /**
     * 2. 釋放數據庫連接
     */
    public void closeConn(ResultSet rs, PreparedStatement pstm, Connection conn) throws Exception {
        if (rs != null) {
            rs.close();
        }
        if (pstm != null) {
            pstm.close();
        }
        if (conn != null) {
            conn.close();
        }
    }
}

數據庫的增刪改查操作

步驟

  1. 獲取剛剛創建的Connection對象

  2. 寫sql語句

  3. 得到statement對象

  4. 執行sql語句,得到結果集

  5. 處理結果集

  6. 關閉資源

  7. 增加數據

	DBUtil db = new DBUtil();
    private Connection conn;

    /*
    插入數據
     */
    @Override
    public void insertUser(TeamWorker newUser) throws Exception {
        Connection conn = db.getConn();
        PreparedStatement pstm = null;
        String sql_insert = "insert into teamworkerinfo(tb_pid,tb_pname,tb_ppsw) values(?,?,?)";	//sql語言
        pstm = conn.prepareStatement(sql_insert);
		
		//填充sql語句中的?
        pstm.setString(1, newUser.getId());
        pstm.setString(2, newUser.getName());
        pstm.setString(3, newUser.getPwd());

		//使用executeUpdate函數執行sql語句
        int row = pstm.executeUpdate();
        System.out.println("新增用戶成功" + row + "行受到影響");
        //釋放對數據庫的連接
        db.closeConn(null, pstm, conn);
    }
  1. 修改數據
 	DBUtil db = new DBUtil();
    private Connection conn;
 	/*
    從數據庫中修改用戶信息
     */
    @Override
    public void updateUser(String id, TeamWorker modUser) throws Exception {
        Connection conn = db.getConn();
        PreparedStatement pstm = null;
        String sql_update = "update teamworkerinfo set tb_pname=?tb_ppsw=? where tb_pid=?";
        pstm = conn.prepareStatement(sql_update);

        pstm.setString(1,modUser.getName());
        pstm.setString(2,modUser.getPwd());
        pstm.setString(3,id);

        int row = pstm.executeUpdate();
        System.out.println("修改用戶成功"+row+"行受到影響");
        db.closeConn(null, pstm, conn);
    }
  1. 刪除數據
 	DBUtil db = new DBUtil();
    private Connection conn;
	/*
    從數據表中刪除用戶信息
     */
    @Override
    public void deleteUser(String id) throws Exception {
        Connection conn = db.getConn();
        PreparedStatement pstm = null;
        String sql_delete = "delete from teamworkerinfo where tb_pid=?";
        pstm = conn.prepareStatement(sql_delete);

        pstm.setString(1,id);

        int row = pstm.executeUpdate();
        System.out.println("刪除用戶成功"+row+"行受到影響");
        db.closeConn(null, pstm, conn);
    }
  1. 修改數據
 	DBUtil db = new DBUtil();
    private Connection conn;
    /*
    從數據庫中修改用戶信息
     */
    @Override
    public void updateUser(String id, TeamWorker modUser) throws Exception {
        Connection conn = db.getConn();
        PreparedStatement pstm = null;
        String sql_update = "update teamworkerinfo set tb_pname=?tb_ppsw=? where tb_pid=?";
        pstm = conn.prepareStatement(sql_update);

        pstm.setString(1,modUser.getName());
        pstm.setString(2,modUser.getPwd());
        pstm.setString(3,id);

        int row = pstm.executeUpdate();
        System.out.println("修改用戶成功"+row+"行受到影響");
        db.closeConn(null, pstm, conn);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章