MyBatisの統合後のキャッシュと春について
一人でMyBatisのを使用する場合は、キャッシュが有効で、同じクエリのSQLセッションで2回、だけ印刷された一回SQL文。キャッシュMyBatisのを使用した春は失敗しますMyBatisのときしかし、それは二回SQL印刷されます。
それは春にMyBatisの際に、キャッシュMyBatisのは失敗します、です。
その理由は次のとおりです。
SqlSessionTemplateに置き換え元DefaultSqlSessionと組み合わせて使用され、我々はsqlSession.selectList方法はfianlly invokeメソッド、メソッドを呼び出すSqlSessionInterceptorの呼び出しを実行するときSqlSessionTemplate SQLSESSIONは、プロキシオブジェクトに置き換えMyBatisのとスプリング、私たちのセッションが閉じSqlSessionUtils.closeSqlSession(SQLSESSION、SqlSessionTemplate.this.sqlSessionFactory)を呼び出します。それが私たちに露出しているため、ネイティブではない理由のセッションに、なぜ、閉じたセッションをMyBatisのない、そして春の使用と合わせて、露光セッションのための方法を提供していないとき、それはここでしかでシャットダウンすることができますが、セッションがクローズされると、そのキャッシュ当然無効。
----------------
オリジナルリンクします。https://blog.csdn.net/qiuz1024/article/details/100534709