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对象,可以根据需要定制化配置,使代码更加清晰和易于维护。