MyBatisにおけるキャッシュ機構と遅延読み込みの詳細設定
キャッシュ機能の仕組み
MyBatisは、パフォーマンス向上のために二種類のキャッシュを提供しています。一つはSqlSessionレベルで動作するローカルキャッシュ(1次キャッシュ)、もう一つはSqlSessionFactoryレベルで共有されるセカンドレベルキャッシュ(2次キャッシュ)です。
1次キャッシュの挙動
新しいSqlSessionが生成されると、自動的にそのセッションに紐付いた1次 ...
9月23日 00:02 投稿
MyBatis設定ファイルの効率的な読み込みとプロパティファイルによるデータベース接続管理
1. SqlSessionインスタンス取得のためのユーティリティクラス実装
MyBatis操作ではSqlSessionインスタンスの取得処理が繰り返し発生します。以下の実装では各操作ごとに設定ファイル読み込みが行われ、リソース効率が低下します:
public class StudentDaoImpl implements IStudentDao {
private SqlSession session;
public void addStudent(Student student ...
6月1日 03:42 投稿
MyBatisセッション生成の内部メカニズム
データベース操作のたびに新しいセッションを生成する必要があり、openSession()メソッドを使用して作成します。
SqlSession session = sqlSessionFactory.openSession();
このsqlSessionFactoryはデフォルトの実装クラスを使用しており、openSessionFromDataSource()メソッド内で生成されます。
private SqlSession openSessionFromDataSource(ExecutorType execType,
...
5月15日 18:09 投稿