使用构建者模式对SqlSessionFactory进行创建

    1. package com.example.aninbatis.sqlsession;
    2. import java.io.InputStream;
    3. import java.io.Reader;
    4. import com.example.aninbatis.config.Configuration;
    5. import com.example.aninbatis.config.XMLConfigParser;
    6. import com.example.aninbatis.utils.DocumentUtils;
    7. import org.dom4j.Document;
    8. /**
    9. * 使用构建者模式对SqlSessionFactory进行创建
    10. */
    11. public class SqlSessionFactoryBuilder {
    12. /**
    13. * 构建SqlSessionFactory
    14. */
    15. public SqlSessionFactory build(InputStream inputStream) {
    16. // 获取Configuration对象
    17. Document document = DocumentUtils.readDocument(inputStream);
    18. XMLConfigParser configParser = new XMLConfigParser();
    19. Configuration configuration = configParser.parse(document.getRootElement());
    20. return build(configuration);
    21. }
    22. public SqlSessionFactory build(Reader reader) {
    23. return null;
    24. }
    25. private SqlSessionFactory build(Configuration configuration) {
    26. return new DefaultSqlSessionFactory(configuration);
    27. }
    28. }