【Mybatis学习】框架中使用到的设计模式

1.代理模式

mybatis框架调用mapper进行数据库操作时,获取的是mapper接口而不是实现类,用到的便是动态代理思想。一般实现动态代理的方法有JDK反射机制提供的代理、CGLIB代理等。

2.单例模式

框架中是由SqlSessionFactory创建SqlSession的,也即会话,类似JDBC中的Connection。在每次进行程序-数据库操作时都需要创建SqlSession,因此该SqlSessionFactory会工作在整个生命周期内,如果每次进行操作时都新建它时会极大地消耗连接资源,而且职责也唯一,因此可以采用单例模式生成的SqlSessionFactory来管理程序中的SqlSession。此外SqlSessionFactory由SqlSessionFactoryBuilder通过读取XML或者Java编码获得资源来构建。该模式的实现主要有饿汉、懒汉2种。


你可能感兴趣的:(mybatis)