JSPにおけるデータベース操作の基本実装

ここでは、JSPアプリケーション内でデータベースに対するCRUD操作(作成・読み取り・更新・削除)をJavaコードで実装する方法を解説します。オブジェクト指向設計に基づき、インターフェースと具体的な実装クラスを用いて整理します。 エンティティクラスの定義 public class Learner { private int learnerId; private String fullName; private int gender; ...

7月30日 17:58 投稿

JDBC APIにおけるResultSet操作、PreparedStatement実行、トランザクション管理、RowSet実装の総合ガイド

ResultSetインターフェースの構造とデータ取得 データベースへのクエリ実行によって生成されるデータグリッドを表現するのがResultSetです。このオブジェクトは内部的なカーソル機構を持ち、初期状態では第一行の手前に位置しています。next()メソッドを呼び出すことで一行ずつ前方へ移動し、各行の列データを取得する仕組みになっています。 以下の例は、コネクション経由 ...

7月12日 20:28 投稿

JDBC 実装でよくある落とし穴と SQL テンプレート集

NullPointerException が出る典型的なケース DAO 層で Connection を取得した直後に Statement を生成しようとした際、conn.createStatement() の呼び出しで NPE が発生することがあります。 Connection conn = DataSourceFactory.getConnection(); // ここで null が返ると… PreparedStatement ps = conn.prepareStatement(sql); // ここで例外 原因は DataSourceFacto ...

7月3日 21:03 投稿

JDBCの基本操作と実用的な応用テクニック

JDBC(Java Database Connectivity)は、Javaアプリケーションがリレーショナルデータベースと連携するための標準APIです。各データベースベンダーが独自のドライバーを提供し、JDBC仕様に準拠して実装します。 主な利点 統一されたインターフェースで、異なるDBへの対応が容易 学習コストが低く、初学者にも扱いやすい パフォーマンスが高く、大規模データ処理に ...

6月25日 17:21 投稿

Java JDBCの基礎から接続実装まで

JDBCの概要とアーキテクチャ データの永続化(Persistence)とは、メモリ上の揮発性データを電源を切っても保持可能な記憶装置(ハードディスクなど)に保存するプロセスを指します。Javaエンタープライズアプリケーションにおいて、これは主にリレーショナルデータベース(RDB)へのデータ保存を意味します。 Javaにおけるデータアクセス技術には、JDBCの他にJDO(Java Da ...

6月17日 23:40 投稿

MyBatisにおける#{}と${}の違いとSQLインジェクション対策

MyBatisでSQLマップを使用してクエリを実行する際、動的にパラメータを渡す必要があることがよくあります。例えば、以下のようなSQL文があります: SELECT * FROM users WHERE user_id = #{userId} AND user_name = '${userName}' 動的SQLの解析段階において、#{ }と${ }は異なる挙動を示します: #{ }はJDBCのプリペアドステートメント(prepared statement)のパラメー ...

6月1日 23:31 投稿

JDBCとデータベース接続プールの活用

JDBCとは JDBC(Java Database Connectivity)は、Java言語でリレーショナルデータベースを操作するためのAPIセットです。JDBCは、MySQLやPostgreSQLなど、異なるデータベース間で共通のインターフェースを提供し、Javaアプリケーションからデータベースを操作する手段を統一しています。 このAPIはインターフェースで構成されており、各データベースベンダーが実装を提供 ...

5月15日 04:19 投稿