最終更新日:190427 原本2017/11/02

JDBC:INSERT文の実行

JDBC を使って、Java からデータベースに対して INSERT文を実行する方法を書いていきます。データベースは、RDBMS の PostgreSQL を使いました。

前提

この記事のサンプルプログラムを実行するには、以下記事のDB環境や資源(プロジェクト、Javaクラス、等)が必要になります。

手順1. INSERT実行クラスの作成

Prepared文(PreparedStatement)で SQL を実行するクラスを作成します。

db-access/src/main/java/jdbc/InsertMain.java

package jdbc;

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

import jdbc.base.Driver;

public class InsertMain {
  public static void main(String[] args)
    throws ClassNotFoundException, SQLException
  {
    try (Connection con = Driver.connect()) {
      //-> データを1件登録するSQLを準備
      PreparedStatement ps = con.prepareStatement(
        "insert into memo (txt) values (?)"
      );
      //-> SQLの?に文字列を設定
      ps.setString(1, "insert-test");
      //-> SQLを実行して更新件数を取得
      int count = ps.executeUpdate();
      //-> 更新件数を表示
      System.out.print("INSERT ");
      System.out.println(count);
      //-> 後処理
      ps.close();
    }
  }
}

java.sql.Connection を取得するために、記事「Java共通資源の作成」で作成したDB接続メソッド Driver.connect() を使っています。

手順2. 動作確認

事前に PostgreSQL を起動しておいて、クラス InsertMain を実行します。正常終了すると標準出力に、

INSERT 1

と表示されます。

psql 等で test データベースに接続して確認することもできます。

test=> select id, txt from memo where txt = 'insert-test';
 id |     txt
----+-------------
 25 | insert-test
(1 行)