基本的なSQLクエリの実行

Java で PostgreSQL データベースにクエリを実行する

Miller Trujillo

Staff Software Engineer

JDBCのStatement

  • SELECTには executeQuery() を使用
  • INSERT・UPDATE・DELETEには executeUpdate() を使用

$$

Statementはメッセンジャーの役割を果たす

Java で PostgreSQL データベースにクエリを実行する

Statementの作成

String sql = "SELECT book_id, title, publication_year FROM books";

try (Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql)) {
Java で PostgreSQL データベースにクエリを実行する

ResultSetによる結果の読み取り

String sql = "SELECT book_id, title, publication_year FROM books";
try (Connection conn = DriverManager.getConnection(url, user, password);
     Statement stmt = conn.createStatement();
     ResultSet rs = stmt.executeQuery(sql)) {

while (rs.next()) {
int id = rs.getInt("book_id"); String title = rs.getString("title"); int year = rs.getInt("publication_year"); System.out.println(id + " | " + title + " (" + year + ")");}}
1 | Effective Java (2018)
2 | Clean Code (2008)
...
Java で PostgreSQL データベースにクエリを実行する

例外処理

try {
    Statement stmt = conn.createStatement();

stmt.executeQuery("SELECT * FROM unknown_table");
} catch (SQLException e) {
System.err.println("Error: " + e.getMessage()); System.err.println("SQLState: " + e.getSQLState()); }
Error: ERROR: relation "unknown_table" does not exist
  Position: 15
SQLState: 42P01
Java で PostgreSQL データベースにクエリを実行する

まとめ

  • Statement はSQLコマンドをDBに送信する
  • ResultSet はクエリ結果を保持し、next() でループ
  • ゲッターメソッド:getInt()、getString()、getDate()
  • SELECTには executeQuery()、変更には executeUpdate()
  • エラーは SQLException で処理する

まとめ

Java で PostgreSQL データベースにクエリを実行する

練習しましょう!

Java で PostgreSQL データベースにクエリを実行する

Preparing Video For Download...