Java使用JDBC連接MYSQL數據庫增刪改查示例

yb25 9年前發布 | 18K 次閱讀 Java JDBC MySQL

JDBC連接MYSQL數據庫:

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

public class Mysql { public static void main(String arg[]) { try { Connection con = null; //定義一個MYSQL鏈接對象 Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動 con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL System.out.print("yes"); } catch (Exception e) { System.out.print("MYSQL ERROR:" + e.getMessage()); }

}

} </pre>

Class.forName("com.mysql.jdbc.Driver").newInstance(); 我們鏈接的是MYSQL數據庫,所以需要一個MYSQL的數據庫驅動,如果你的環境中沒有安裝, 可以下載:mysql-connector-java-5.1.17-bin.jar JAR包,然后放進jdk1.6.0_37\jre\lib\ext 重啟eclispe 就可以在JRE系統庫中看到。

con = DriverManager.getConnection;("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); 是鏈接數據庫的語句, 返回Connection con;對象。參數格式:("jdbc:mysql://ip:端口/數據庫名稱", 用戶名,密碼)

寫入一條數據

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

public class Mysql {

/**
 * 入口函數
 * @param arg
 */
public static void main(String arg[]) {
    try {
        Connection con = null; //定義一個MYSQL鏈接對象
        Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動
        con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL

        Statement stmt; //創建聲明
        stmt = con.createStatement();

        //新增一條數據
        stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')");
        ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()");
        int ret_id;
        if (res.next()) {
            ret_id = res.getInt(1);
            System.out.print(ret_id);
        }

    } catch (Exception e) {
        System.out.print("MYSQL ERROR:" + e.getMessage());
    }

}

} </pre>

stmt.executeUpdate INSERT; DELETE; UPDATE;語句都用executeUpdate函數來操作 stmt.executeQuery SELECT;語句都用stmt.executeQuery函數來操作 ResultSet res = stmt.executeQuery;("select LAST;_INSERT_ID()"); 查詢最后插入數據的ID號,返回ResultSet res;對象

刪除和更新數據

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

public class Mysql {

/**
 * 入口函數
 * @param arg
 */
public static void main(String arg[]) {
    try {
        Connection con = null; //定義一個MYSQL鏈接對象
        Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動
        con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL

        Statement stmt; //創建聲明
        stmt = con.createStatement();

        //新增一條數據
        stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')");
        ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()");
        int ret_id;
        if (res.next()) {
            ret_id = res.getInt(1);
            System.out.print(ret_id);
        }

        //刪除一條數據
        String sql = "DELETE FROM user WHERE id = 1";
        long deleteRes = stmt.executeUpdate(sql); //如果為0則沒有進行刪除操作,如果大于0,則記錄刪除的條數
        System.out.print("DELETE:" + deleteRes);

        //更新一條數據
        String updateSql = "UPDATE user SET username = 'xxxx' WHERE id = 2";
        long updateRes = stmt.executeUpdate(updateSql);
        System.out.print("UPDATE:" + updateRes);

    } catch (Exception e) {
        System.out.print("MYSQL ERROR:" + e.getMessage());
    }

}

}</pre>

刪除和更新數據都使用stmt.executeUpdate函數。 刪除和更新數據都會返回一個Long的結果,如果為0,則刪除或者更新失敗,如果大于0則是操作刪除的記錄數

查詢語句

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;

public class Mysql {

/**
 * 入口函數
 * @param arg
 */
public static void main(String arg[]) {
    try {
        Connection con = null; //定義一個MYSQL鏈接對象
        Class.forName("com.mysql.jdbc.Driver").newInstance(); //MYSQL驅動
        con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "root"); //鏈接本地MYSQL

        Statement stmt; //創建聲明
        stmt = con.createStatement();

        //新增一條數據
        stmt.executeUpdate("INSERT INTO user (username, password) VALUES ('init', '123456')");
        ResultSet res = stmt.executeQuery("select LAST_INSERT_ID()");
        int ret_id;
        if (res.next()) {
            ret_id = res.getInt(1);
            System.out.print(ret_id);
        }

        //刪除一條數據
        String sql = "DELETE FROM user WHERE id = 1";
        long deleteRes = stmt.executeUpdate(sql); //如果為0則沒有進行刪除操作,如果大于0,則記錄刪除的條數
        System.out.print("DELETE:" + deleteRes);

        //更新一條數據
        String updateSql = "UPDATE user SET username = 'xxxx' WHERE id = 2";
        long updateRes = stmt.executeUpdate(updateSql);
        System.out.print("UPDATE:" + updateRes);

        //查詢數據并輸出
        String selectSql = "SELECT * FROM user";
        ResultSet selectRes = stmt.executeQuery(selectSql);
        while (selectRes.next()) { //循環輸出結果集
            String username = selectRes.getString("username");
            String password = selectRes.getString("password");
            System.out.print("\r\n\r\n");
            System.out.print("username:" + username + "password:" + password);
        }

    } catch (Exception e) {
        System.out.print("MYSQL ERROR:" + e.getMessage());
    }

}

} </pre>

查詢語句使用stmt.executeQuery函數

  • rs.absolute() //絕對位置,負數表示從后面數
  • rs.first()第一條
  • rs.last()最后一條
  • rs.previoust()前一條
  • rs.next()后一條
  • rs.beforeFirst()第一條之前
  • rs.afterLast()最后之后
  • rs.isFirst(),rs.isLast(),rs.isBeforeFirst(),rs.isAfterLast

 本文由用戶 yb25 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!