MyBatis使用Builder模式來構建SqlSessionFactory和SqlSession對象。下面是一個簡單的示例,展示了如何使用Builder模式來構建SqlSessionFactory對象:
public class SqlSessionFactoryBuilder {
private Configuration configuration;
public SqlSessionFactoryBuilder() {
this.configuration = new Configuration();
}
public SqlSessionFactory build(InputStream inputStream) {
XMLConfigBuilder xmlConfigBuilder = new XMLConfigBuilder(configuration);
xmlConfigBuilder.parse(inputStream);
return build();
}
public SqlSessionFactory build() {
return new DefaultSqlSessionFactory(configuration);
}
}
在上面的示例中,SqlSessionFactoryBuilder類包含一個Configuration對象,并提供了兩個build方法:一個接受InputStream參數用于解析配置文件,另一個不接受參數。build方法會返回一個SqlSessionFactory對象。
在實際使用時,可以像下面這樣創建一個SqlSessionFactory對象:
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory = builder.build(inputStream);
通過Builder模式,我們可以更加靈活地構建SqlSessionFactory對象,可以根據需要定制化配置,使代碼更加清晰和易于維護。