JDBCチュートリアル

Java JDBCチュートリアル

jdbc logo

Java Database Connectivity (JDBC) APIを使用すると、Javaアプリケーションがデータベースと対話できるようになります。

2. ステートメント

このStatementにはキャッシュがなく、CREATEやDROPなどの単純で静的なSQLステートメントに適しています。 Statementでは、SQLで条件またはパラメーターを作成する方法は、SQLインジェクションを起こしやすいため、引用符と特殊文字をエスケープすることを忘れないでください。

  • statement.execute(sql) –通常はCREATEやDROPなどのDDLの場合

  • statement.executeUpdate(sql) –通常、INSERT、UPDATE、DELETEなどのDMLの場合

  • statement.executeQuery(sql) – SELECTクエリを実行し、ResultSetを返します

  • statement.executeBatch() –SQLコマンドをバッチとして実行

記事:

3. PreparedStatement

PreparedStatementStatementを拡張して、SQLステートメントをプリコンパイルおよびキャッシュすることでパフォーマンスを向上させます。これは、複数回実行する必要があるSQLステートメントに適しています。 さらに、引用符と特殊文字をエスケープすることでSQLインジェクションを保護するために、多くのsetXxx()を提供します。

  • preparedStatement.execute() –通常はCREATEやDROPなどのDDLの場合

  • preparedStatement.executeUpdate() –通常、INSERT、UPDATE、DELETEなどのDMLの場合

  • preparedStatement.executeQuery() – SELECTクエリを実行し、ResultSetを返します

  • preparedStatement.executeBatch() –SQLコマンドをバッチとして実行

記事:

4. CallableStatement

CallableStatementは、データベースからストアドプロシージャまたは関数を実行するために、PreparedStatementを拡張します。

  • conn.prepareCall(sql)

Oracleデータベース

PostgreSQL

5. トランザクション

conn.setAutoCommit(false); // default true
// start transaction block

// SQL statements

// end transaction block
conn.commit();
conn.setAutoCommit(true);