MyBatisのSqlSessionFactoryとSqlSessionはどういう目的で使われますか。
SqlSessionFactoryはMyBatisの中核的なインターフェースの1つで、SqlSessionオブジェクトを作成するために使用されます。SqlSessionFactoryは工場クラスであり、SqlSessionオブジェクトを作成し、データベース接続のライフサイクルを管理します。通常、アプリケーションは1つのSqlSessionFactoryオブジェクトしか必要としません。なぜなら、SqlSessionFactoryの作成はリソースを消費する操作だからです。
SqlSessionは、データベースとやり取りするためのインタフェースです。SqlSessionはデータベースとの1回のセッションを表し、SQL文を実行したり、トランザクションをコミットしたり、接続を閉じたりすることができます。SqlSessionオブジェクトはスレッドセーフではないため、使用するたびにメソッド内で作成し、メソッド終了時に閉じる必要があります。SqlSessionオブジェクトのライフサイクルは比較的短く、通常はメソッド内で作成して使用されます。