MyBatis はデータベースを操作するための JDBC コードをカプセル化し、SqlSession を通じて SQL ステートメントを実行します。まず、MyBatis が SqlSession を作成する方法を見てみましょう。
MyBatis が Spring にホストされていない場合、パラメーターは構成ファイルのすべての情報を含むリーダー オブジェクトです。
1 Reader reader = Resources.getResourceAsReader("Configuration.xml");
最後に、DefaultSqlSessionFactory オブジェクトが返され、DefaultSqlSessionFactory の openSession() を通じて SqlSession オブジェクトが返されます
最終的に DefaultSqlSession が返されることがわかります。これは、SqlSession オブジェクトです。 ) selectList(...)
selectMap(...) update(...) および DefaultSqlSession の他のメソッドが実際に SQL を実行するメソッドです具体的な実行は executor オブジェクトによって実行され、実行されます
public SqlSessionFactory build(Reader reader, String environment, Properties properties) { try { //委托XMLConfigBuilder来解析xml文件,并构建 XMLConfigBuilder parser = new XMLConfigBuilder(reader, environment, properties); return build(parser.parse()); } catch (Exception e) { throw ExceptionFactory.wrapException("Error building SqlSession.", e); } finally { ErrorContext.instance().reset(); try { reader.close(); } catch (IOException e) { } public SqlSessionFactory build(Configuration config) { return new DefaultSqlSessionFactory(config); }
以上がMyBatis ソース コード学習 SqlSession 作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。