
拉钩教育之开源框架学习
manba123456
这个作者很懒,什么都没留下…
展开
-
Mybatis学习笔记六之设计模式
一、设计模式 在软件工程领域,设计模式是一套通用的可复用的解决方案,用来解决在软件设计过程中产生的通用问题。它不是一个可以直接转换成源代码的设计,只是一套在软件系统设计过程中程序员应该遵循的最佳实践准则。Mybatis源码中使用了大量的设计模式,通过观察设计模式在源码中的应用,能够更深入的理解设计模式。结合前面源码的分析,我们这里只介绍Build构建者模式、工厂模式和代理模式。1,Build构建者模式 Builder构建者模式指:将一个复杂对象的构建与它的...原创 2020-11-09 19:44:58 · 229 阅读 · 0 评论 -
Mybatis学习笔记五之源码剖析
一、Mybatis底层工作原理 上篇文章中我们讲到Mybatis和数据库交互有两种方式,一是使用传统的Mybatis提供的API,第二是Mapper的代理方式。项目中一般都是使用第二种方式,那这两种方式的初始化过程有什么不同呢。 Mybatis在初始化的时候,会将Mybatis的配置信息全部加载到内存中,使用org.apache.ibatis.session.Configuration实例来维护。首先对Configuration对象介绍:Configuration对象的结构和...原创 2020-11-09 15:37:04 · 185 阅读 · 0 评论 -
mybatis学习笔记四之架构原理
一、架构设计我们可以把mybatis的功能架构分为三层:(1)接口层:提供给外部使用的接口API,开发人员可以通过这些API来操作数据库。接口层一接收到请求就会调用数据处理层来完成具体的数据处理。Mybatis和数据库交互有两种方式:使用传统的Mybatis提供的API:sqlSession.selectList("com.lagou.dao.IUserDao.selectList")使用Mapper的代理方式:IUserDao userDao = sqlSession.getMappe原创 2020-11-08 15:52:38 · 256 阅读 · 0 评论 -
mybatis学习笔记三之mybatis插件
一、插件介绍 一般情况下,开源框架都会提供插件或其他形式的扩展点,供开发者自行扩展。一是增加了框架的灵活性、二是开发者可以结合实际需求,对框架进行扩展。以Mybatis为例,我们可基于Mybatis插件机制实现分页、分表、监控等功能,在无形中增强功能。二、Mybatis插件 Mybatis框架具有强大的灵活性,在四大组件(Executor、StatementHandler、ParameterHandler、ResultSetHandler)处提供了简单易用的插件...原创 2020-11-06 00:17:20 · 265 阅读 · 0 评论 -
mybatis学习笔记二
一、Mybatis缓存mybatis提供了对缓存的支持,分为一级缓存和二级缓存,可以通过对下图来理解(1)、一级缓存是SqlSession级别的,在操作数据库是需要构造SqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据,不同的SqlSession之间的缓存数据区域(HashMap)是相互不影响的。测试:我们在一个SqlSession中,对User表通过id查询两次,看他们发出sql的情况(2)、二级缓存是Mapper级别的。多个SqlSession去.原创 2020-11-04 23:07:51 · 165 阅读 · 1 评论 -
mybatis学习笔记一
一、JDBC操作数据库代码:public static void main(String[] args) {Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {// 加载数据库驱动Class.forName("com.mysql.jdbc.Driver");// 通过驱动管理类获取数据库链接connection =DriverMa原创 2020-11-02 21:11:11 · 858 阅读 · 1 评论