![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
文章平均质量分 84
mybatis框架干货
胖婷
biubiubiu
展开
-
Mybatis之设计模式
设计模式目前java中有三类23中设计模式,但大都停留在概念层面,Mybatis源码中使用了大量的设计模式,观察设计模式在其中的应用,能够更深入的理解设计模式Mybatis至少用到了以下的设计模式的使用:模式mybatis体现Builder模式例如SqlSessionFactoryBuilder̵Environment工厂方法模式例如SqlSessionFactory、TransactionFactory、LogFactory单例模式例如ErrorContext和原创 2021-04-21 10:51:32 · 223 阅读 · 0 评论 -
Mybatis之源码剖析
Mybatis源码剖析1、传统方式源码剖析源码剖析-初始化InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");// 初始化工作的开始SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);进入源码剖析:// 1. 最初调用的buildpublic SqlSessionFactory bui原创 2021-04-15 19:34:42 · 140 阅读 · 1 评论 -
Mybatis之架构原理
Mybatis架构原理1、架构设计我们把Mybatis的功能架构分为三层:(1)API接口层:提供外部使用的接口API,开发人员通过这些本地API来操作数据库。接口层一收到调用请求就会调用数据处理层来完成具体的数据处理。Mybatis和数据库的交互有两种方式:a.使用传统的Mybatis提供的API;b.使用Mapper代理的方式;(2)数据处理层:负责处理SQL查询,SQL解析,SQL执行和执行结果的映射处理等。主要目的是根据调用的请求完成一次数据库操作。(3)基础支撑层:负责最基础的功原创 2021-04-15 10:53:00 · 122 阅读 · 2 评论 -
Mybatis之插件
Mybatis插件1、插件介绍开源框架一般都会提供插件或其他形式的扩展点,供开发自行拓展。这样的好处显而易见的,一是增加了框架的灵活性,二是开发者可以结合实际需求,对框架进行扩展,使其能够更好的工作。以mybatis为例,我们可以基于mybatis插件机制实现分页、分表、监控等功能。由于插件和业务无关,业务也无法感知插件的存在。因此可以无感植入插件,在无形之中增强功能。2、Mybatis插件介绍Mybatis作为一个应用广泛的优秀的ORM开源框架,这个框架具有强大的灵活性,在四大组件(Executo原创 2021-04-15 08:45:05 · 1772 阅读 · 0 评论 -
Mybatis之缓存
Mybatis缓存缓存是内存中的数据,常常来自数据库查询结果的保存,使用缓存,可以避免频繁的与数据库交互,进而提高响应速度。mybatis也提供了缓存的支持,分为一级缓存和二级缓存①一级缓存是sqlSession级别的缓存,在操作数据库时需要构建sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域是互相不影响的。②二级缓存是mapper级别的缓存,多个sqlSession去操作同一个Mapper的sql语句,多个SqlS原创 2021-04-13 16:27:02 · 94 阅读 · 0 评论 -
Mybatis之注解开发
Mybatis注解开发Mybatis之常用注解Mybatis可以使用常用的注解开发,可以方便减少编写Mapper.xml映射文件。@Insert:新增@Update:更新@Delete:删除@Select:查询@Result:结果集封装@Results:可以与@Result一起使用,封装多个结果集@One:一对一结果集封装@Many:一对多结果集封装Mybatis的注解实现复杂映射开发实现复杂关系映射之前我们可以在文件中通过配置来实现,使用注解开发后,可以使用@Results注解原创 2021-04-13 08:58:34 · 96 阅读 · 0 评论 -
Mybatis之复杂映射
一对一查询一对一查询的模型MapperScannerConfigurer用户表和订单表的关系为,一个用户有多个订单,一个订单只属于一个用户一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户信息一对一查询的语句对应的sql语句:select * from orders o, user u where o.uid = u.id;查询结果如下:创建实体类user和order类public class Order { private int id; private Date or原创 2021-04-12 11:32:49 · 255 阅读 · 0 评论 -
Mybatis之配置文件深入理解
一、Mybatis配置文件的深入1.1、SqlMapConfig.xmlMybatis的核心配置文件的层级关系Mybatis的常用配置解析1、environments标签数据库环境配置,支持多环境配置其中事务管理器(transactionManager)类型有2种:JDBC:这个配置就是直接使用了JDBC的提交和回滚机制,它依赖于从数据源得到的连接来管理事务作用域。MANAGED:这个配置从来不提交或回滚一个连接,而是让容器来管理事务的整个生命周期。默认情况下会自动关闭连接,一般容器不原创 2021-04-11 07:31:18 · 118 阅读 · 0 评论 -
Mybatis之相关概念和基本应用
一、Mybatis的相关概念1.1、对象关系数据库映射(ORM)ORM全称Object/Relation Mapping:表示对象-关系映射的缩写。ORM完成面向对象的编程语言到关系数据库的映射。当ORM框架完成映射后,程序员既可以利用面向对象程序设计语言的简单易用性,又可以利用关系数据库的技术优势。ORM将关系数据库包装成为面向对象的模型。ORM框架是面向对象设计语言与关系数据库发展不同步所产生的中间解决方案。采用ORM框架后,应用程序不再直接访问底层数据库,而是以面向对象的放松来持久化对象,而原创 2021-04-09 16:41:50 · 119 阅读 · 0 评论