Web系開発メモ

Java, C#, HTML, CSS, JavaScript のことなどを書いてます。

Java JDBCでPostgreSQLに接続 2.INSERT文の実行方法

JDBCPostgreSQL に接続して、INSERT文を実行する方法を書いていきます。

連載記事

  1. DBとプロジェクトの準備
  2. INSERT文の実行
  3. SELECT文の実行
  4. UPDATE文の実行
  5. DELETE文の実行

1. プログラムの作成

以下の Javaコードを作成します。

src/main/java/org/sample/Insert.java

package org.sample;

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

public class Insert {
  // localhost の 5432 ポート、データベース test に接続
  private static final String URL = "jdbc:postgresql://localhost:5432/test";
  private static final String SQL = "INSERT INTO memo (txt) VALUES (?)";
  public static void main(String[] args) throws SQLException {
    // DB のユーザ名を usr、パスワードを pass に設定
    Properties props = new Properties();
    props.setProperty("user", "usr");
    props.setProperty("password", "pass");
    try (
      // コネクションを取得して、プリペアド文を作成
      Connection con = DriverManager.getConnection(URL, props);
      PreparedStatement ps = con.prepareStatement(SQL)
    ) {
      // SQL の1番目の ? に文字列を設定して実行
      ps.setString(1, "コーヒーを買う");
      ps.executeUpdate();
    }
  }
}

1.1. PreparedStatement について

プリペアド文を使って、SQL? に値を設定して実行しています。詳細は以下のリンク先を参照して頂ければと思います。

PreparedStatement - Java SE 17

1.2. try-with-resources文について

以下のクラスは、close() を自動実行するために try の括弧内に記載しています。

  • Connection
  • PreparedStatement

詳細は以下のリンク先を参照して頂ければと思います。

try-with-resources文 - Oracle

1.3. オートコミットについて

上のプログラムは、オートコミットが有効(デフォルト)になっています。詳細は以下のリンク先を参照して頂ければと思います。

Connection#setAutoCommit(boolean) - Java SE 17

2. 動作確認

プログラムを実行すると、メモが1件追加されます。DB で以下の SQL を実行すると、INSERT されたデータを確認できます。

SELECT * FROM memo;

動作しない場合は、以下のリンク先をご確認頂ければと思います。

1. DBとプロジェクトの準備

次の記事

3. SELECT文の実行