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 行)