Java JDBCチュートリアル
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
PreparedStatement
はStatement
を拡張して、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);
6. Spring JDBCデータベースアクセス
JdbcTemplate
の例。
FAQs
参考文献
オラクル
MySQL
PostgreSQL