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