拉钩教育之开源框架学习
manba123456
这个作者很懒,什么都没留下…
展开
-
Mybatis学习笔记六之设计模式
一、设计模式 在软件工程领域,设计模式是一套通用的可复用的解决方案,用来解决在软件设计过程中产生的通用问题。它不是一个可以直接转换成源代码的设计,只是一套在软件系统设计过程中程序员应该遵循的最佳实践准则。 Mybatis源码中使用了大量的设计模式,通过观察设计模式在源码中的应用,能够更深入的理解设计模式。 结合前面源码的分析,我们这里只介绍Build构建者模式、工厂模式和代理模式。 1,Build构建者模式 Builder构建者模式指:将一个复杂对象的构建与它的...原创 2020-11-09 19:44:58 · 188 阅读 · 0 评论 -
Mybatis学习笔记五之源码剖析
一、Mybatis底层工作原理 上篇文章中我们讲到Mybatis和数据库交互有两种方式,一是使用传统的Mybatis提供的API,第二是Mapper的代理方式。项目中一般都是使用第二种方式,那这两种方式的初始化过程有什么不同呢。 Mybatis在初始化的时候,会将Mybatis的配置信息全部加载到内存中,使用org.apache.ibatis.session.Configuration实例来维护。首先对Configuration对象介绍: Configuration对象的结构和...原创 2020-11-09 15:37:04 · 157 阅读 · 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 · 225 阅读 · 0 评论 -
mybatis学习笔记三之mybatis插件
一、插件介绍 一般情况下,开源框架都会提供插件或其他形式的扩展点,供开发者自行扩展。一是增加了框架的灵活性、二是开发者可以结合实际需求,对框架进行扩展。以Mybatis为例,我们可基于Mybatis插件机制实现分页、分表、监控等功能,在无形中增强功能。 二、Mybatis插件 Mybatis框架具有强大的灵活性,在四大组件(Executor、StatementHandler、ParameterHandler、ResultSetHandler)处提供了简单易用的插件...原创 2020-11-06 00:17:20 · 231 阅读 · 0 评论 -
mybatis学习笔记二
一、Mybatis缓存 mybatis提供了对缓存的支持,分为一级缓存和二级缓存,可以通过对下图来理解 (1)、一级缓存是SqlSession级别的,在操作数据库是需要构造SqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据,不同的SqlSession之间的缓存数据区域(HashMap)是相互不影响的。 测试:我们在一个SqlSession中,对User表通过id查询两次,看他们发出sql的情况 (2)、二级缓存是Mapper级别的。多个SqlSession去.原创 2020-11-04 23:07:51 · 120 阅读 · 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 · 812 阅读 · 1 评论