Mybatis を使用してデータベースの CRUD アプリケーションを作成していますが、SQL セッションを開いたり閉じたりするときにすべてのメソッドに繰り返しコードが含まれているため、呼び出しハンドラーを使用してコードの繰り返しを最小限に抑えたいと考えています。ほとんどすべてのメソッドは次のようになります。
public int deleteDefDialog(DefDialog defDialog) {
SqlSession sqlSession = ConnectionFactory.getSqlSessionFactory()
.openSession();
try {
DialogMapper dialogMapper = sqlSession
.getMapper(DialogMapper.class);
int i = dialogMapper.deleteDefDialog(defDialog);
sqlSession.commit();
return i;
} finally {
sqlSession.close();
}
}
public DefDialog selectDefDialog(BigDecimal i) {
SqlSession sqlSession = ConnectionFactory.getSqlSessionFactory()
.openSession();
try {
DialogMapper dialogMapper = sqlSession
.getMapper(DialogMapper.class);
return dialogMapper.selectDefDialog(i);
} finally {
sqlSession.close();
}
}
私の質問は、アプリケーションがスレッドセーフのままであることを念頭に置いて、呼び出しハンドラーを適切に作成して呼び出すにはどうすればよいですか?