prepareStatement/executeUpdateメソッド
データベースに登録する – prepareStatement/executeUpdateメソッド- PreparedStatement prepareStatement(String sql) throws SQLException
- void setXxxxx(int index, T value) throws SQLException
- int executeUpdate() throws SQLException
- sql:発行するSQL命令
- index:インデックス番号(先頭は1)
- T:データ型(int、double、Stringなど)
- value:値
データベースにSQL命令を発行するには、まずPreparedStatementオブジェクトを生成します。この際、引数sqlには「?」の形式でプレイスホルダーを埋め込むことができます。
プレイスホルダーとは、あとから値を埋め込むための場所です。PreparedStatement#setXxxxxメソッドを利用することで、値を設定できます(Xxxxxの部分はセットする値の型に応じて、String、Int、Double、Booleanなどとなります)。
プレイスホルダーのすべてに値を設定できたら、最後にexecuteUpdateメソッドでSQL命令を発行します。executeUpdateメソッドの戻り値は、更新された行数を表します。
SqlUpdate.java
package com.example.mynavi.sql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class SqlUpdate {
public static void main(String[] args) {
try (Connection db = DriverManager.getConnection(
"jdbc:mysql:⁄⁄localhost/sample?serverTimezone=JST&useUnicode=true&characterEncoding=UTF-8&useSSL=true", "root", "12345")) {
PreparedStatement ps = db.prepareStatement(
"INSERT INTO members (id, nam, sex, age) VALUES (?, ?, ?, ?)");
ps.setString(1, "2016002");
ps.setString(2, "佐藤健太");
ps.setString(3, "男");
ps.setInt(4, 35);
int result = ps.executeUpdate();
System.out.println(result + "行が追加されました。");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
1行が追加されました。
ここではINSERT命令(挿入)を実行していますが、UPDATE(更新)、DELETE(削除)命令も同様に実行できます。
関連ページ
executeQuery






