1. 程式人生 > 資料庫 >使用JDBC中的PreparedStatement操作MySQL資料庫表

使用JDBC中的PreparedStatement操作MySQL資料庫表

根據一文先將資料庫和表建立完畢。

  • 引入依賴
<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.21</version>
    </dependency>
</dependencies>

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

public class Test {

    private static final String url = "jdbc:mysql://gosuncn.fun:3306/gosuncn?serverTimezone=Asia/Shanghai&characterEncoding=utf8";

    private static final String user = "gosuncn";

    private static final String password = "gosuncn";

    private static final String sql = "insert into t_user (username, password) VALUES (?, ?)";

    public static void main(String[] args) {
        try (Connection connection = DriverManager.getConnection(url, user, password);
             PreparedStatement preparedStatement = connection.prepareStatement(sql)) {
            preparedStatement.setString(1, "黎明");
            preparedStatement.setString(2, "123456");
            int effectRowCount = preparedStatement.executeUpdate();
            System.out.println("effectRowCount = " + effectRowCount);
        } catch (SQLException exception) {
            System.out.println("SQLException Happening ...");
        }
    }
}

executeUpdate()方法可以執行插入更新刪除以及像DML沒有返回值的語句。

返回值:

(1)、執行DML語句返回受影響的行數。
(2)、沒有返回的內容的語句返回值為0

insert into t_user (username, password) VALUES (?, ?)

preparedStatement.setString(1, "黎明") 設定第1個 的值。
preparedStatement.setString(2, "123456") 設定第2個 的值。