做网站哪些公司苏州首页排名关键词优化
web/
2025/9/30 1:39:21/
文章来源:
做网站哪些公司,苏州首页排名关键词优化,实实通信的视频网站怎么做,做网站业务好干吗前言
MyBatis框架中使用的5种设计模式分别是#xff1a;1、建造者模式#xff08;生成器模式#xff09;。2、工厂模式。3、单例模式。4、代理模式。5、适配器模式。
1、建造者模式#xff08;生成器模式#xff09;
在MyBatis环境的初始化过程中#xff0c;SqlSessio…前言
MyBatis框架中使用的5种设计模式分别是1、建造者模式生成器模式。2、工厂模式。3、单例模式。4、代理模式。5、适配器模式。
1、建造者模式生成器模式
在MyBatis环境的初始化过程中SqlSessionFactoryBuilder会调用 XMLConfigBuilder读取
所有的MyBatisMapConfig.xml和所有的 *Mapper.xml文件构建MyBatis运行的核心对象
Configuration对象然后将该Configuration对象作为参数构建一个SqlSessionFactory对
象。
2、工厂模式 在MyBatis中比如 SqlSessionFactory使用的是工厂模式该工厂没有那么复杂的逻辑是一个简单工厂模式。 SqlSession可以认为是一个MyBatis工作的核心的接口通过这个接口可以执行执行SQL语句、获取Mappers、管理事务。类似于连接MySQL的 Connection对象。
3、单例模式 在MyBatis中有两个地方用到单例模式ErrorContext和 LogFactory其中 ErrorContext是用在每个线程范围内的单例用于记录该线程的执行环境错误信息而 LogFactory则是提供给整个MyBatis使用的日志工厂用于获得针对项目配置好的日志对象。 public class ErrorContext {/*** 每个线程各自的数据*/private static final ThreadLocalErrorContext LOCAL new ThreadLocal();private ErrorContext() {}public static ErrorContext instance() {ErrorContext context LOCAL.get();if (context null) {context new ErrorContext();LOCAL.set(context);}return context;}} 构造函数是private修饰具有一个static的局部instance变量和一个获取instance变量的方法在获取实例的方法中先判断是否为空如果是的话就先创建然后返回构造好的对象。 只是这里有个有趣的地方是LOCAL的静态实例变量使用了 ThreadLocal修饰也就是说它属于每个线程各自的数据而在 instance()方法中先获取本线程的该实例如果没有就创建该线程独有的ErrorContext。
4、代理模式
代理模式可以认为是MyBatis的核心使用的模式正是由于这个模式我们只需要编写 Mapper.java接口不需要实现由MyBatis后台帮我们完成具体SQL的执行。
5、适配器模式 在MyBatis的logging包中有一个Log接口 该接口定义了MyBatis直接使用的日志方法而Log接口具体由谁来实现呢 MyBatis提供了多种日志框架的实现这些实现都匹配这个Log接口所定义的接口方法最终实现了所有外部日志框架到MyBatis日志包的适配。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84185.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!