
在学习MyBatis的过程中,不仅要掌握其设计理念,还需深入了解其中使用的设计模式。本文总结了在学习MyBatis时所接触到的7种设计模式,并将持续更新。
1、建造者模式(Builder模式)示例:
BibiGPT-哔哔终结者
B站视频总结器-一键总结 音视频内容
28 查看详情
代码语言:javascript代码运行次数:0运行复制“`javascriptpublic class Book {private Integer id;private String name;public Book() {}public Book(Integer id, String name) {this.id = id;this.name = name;}@Overridepublic String toString() {return “Book{” +”id=” + id +”, name='” + name +’}’;}// 使用内部类实现建造者模式public static class Builder {private Integer id;private String name;public Builder id(Integer id) {this.id = id;return this;}public Builder name(String name) {this.name = name;return this;}public Book build() {return new Book(id, name);}}}/**
通过这种方式实现了链式创建,与Lombok的@Builder注解功能类似。*/public class BuilderTest {public static void main(String[] args) {Book book = new Book.Builder().id(1).name(“三国”).build();System.out.println(book.toString());}}
MyBatis中对Builder模式的应用不仅仅限于内部类的方式。例如:
代码语言:javascript代码运行次数:0运行复制```javascript/**
根据不同的输入参数构建SqlSessionFactory工厂对象。最终会调用这个build方法,创建SqlSessionFactory的实现类*/public class SqlSessionFactoryBuilder {public SqlSessionFactory build(Reader reader) {return build(reader, null, null);}public SqlSessionFactory build(Reader reader, String environment) {return build(reader, environment, null);}public SqlSessionFactory build(Reader reader, Properties properties) {return build(reader, null, properties);}public SqlSessionFactory build(Reader reader, String environment, Properties properties) {XMLConfigBuilder parser = new XMLConfigBuilder(reader, environment, properties);return build(parser.parse());}public SqlSessionFactory build(InputStream inputStream) {return build(inputStream, null, null);}public SqlSessionFactory build(InputStream inputStream, String environment) {return build(inputStream, environment, null);}public SqlSessionFactory build(InputStream inputStream, Properties properties) {return build(inputStream, null, properties);}public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) {XMLConfigBuilder parser = new XMLConfigBuilder(inputStream, environment, properties);return build(parser.parse());}// 最终会调用这个build方法,创建SqlSessionFactory的实现类public SqlSessionFactory build(Configuration config) {return new DefaultSqlSessionFactory(config);}}
以上就是MyBatis之设计模式学习总结的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/417686.html
微信扫一扫
支付宝扫一扫