JdbcTemplateのquery、queryForObject、queryForList、updateメソッドの説明

SpringBoot

SpringBoot JdbcTemplate 

概念

Spring BootのJdbcTemplateは、JDBC APIを使用してデータベースに対してクエリを実行するためのSpring Frameworkのクラスです。

JdbcTemplateを使用すると、SQLクエリの実行やパラメータ化されたクエリの実行、ストアドプロシージャの呼び出しなどが簡単に行えます。

また、トランザクションのサポートや例外処理も自動的に行われます。

メソッド

JdbcTemplateには、次のようなSQLを実行するための様々なメソッドがあります。

  • query
  • queryForObject
  • queryForList
  • update

順番に説明します。

query

queryメソッド:一つ以上の結果を取得するために使用される。ResultSetExtractor、RowCallbackHandler、RowMapperインタフェースをサポートし、それぞれ異なる形式の結果の取得が可能。

String sql = "SELECT id, name, email FROM users WHERE id = ?";
User user = jdbcTemplate.query(sql, new Object[]{id}, new UserRowMapper());

queryForObject

queryForObjectメソッド:1つの結果のみを取得するために使用される。ResultSetExtractor、RowMapperインタフェースをサポートする。

String sql = "SELECT COUNT(*) FROM users WHERE age > ?";
int count = jdbcTemplate.queryForObject(sql, Integer.class, 18);

queryForList

queryForListメソッド:複数の結果を取得するために使用される。RowMapperインタフェースをサポートする。

String sql = "SELECT id, name, email FROM users WHERE age > ?";
List<User> users = jdbcTemplate.queryForList(sql, new Object[]{18}, User.class);

update

updateメソッド:INSERT、UPDATE、DELETEなどの更新操作を実行するために使用される。

String sql = "INSERT INTO users (name, email, age) VALUES (?, ?, ?)";
int rowsAffected = jdbcTemplate.update(sql, "John", "xxx@example.com", 25);

以上のように、JdbcTemplateは、さまざまなタイプのSQLを実行するための多くのメソッドを提供しています。これらのメソッドを組み合わせて、データベースから必要な情報を取得し、必要に応じて変更することができます。

コメント

タイトルとURLをコピーしました