![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
qq_33358408
这个作者很懒,什么都没留下…
展开
-
mybatis 插件开发
我们从插件配置、插件编写、插件运行原理、插件注册与执行拦截的时机、初始化插件、分页插件的原理等六个方面展开阐述。1. 插件配置Mybatis的插件配置在configuration内部,初始化时,会读取这些插件,保存于Configuration对象的InterceptorChain中。<?xml version="1.0" encoding="UTF-8"?><!DOCTY...原创 2020-01-13 17:40:57 · 97 阅读 · 0 评论 -
mybatis 源码分析(2)主要类代码解析
加载全局配置文件流程找入口:SqlSessionFactoryBuilder#build方法public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) { try { // XMLConfigBuilder:用来解析XML配置文件 // 使用构建者模...原创 2020-01-10 16:57:43 · 102 阅读 · 0 评论 -
mybatis 源码分析(1)主要类与接口的简单说明
SqlSessionFactoryBuilder功能通过构建者模式创建SqlSessionFactoryXMLConfigBuilder 专门用来解析全局配置文件的解析器 XMLMapperBuilder 专门用来解析映射文件的解析器ConfigurationMyBatis框架支持开发人员通过配置文件与其进行交流.在配置文件所配置的信息,在 框架运行时...原创 2020-01-10 11:16:12 · 159 阅读 · 0 评论 -
mybatis 框架设计思路
1. 编写自定义的配置文件和映射文件。2. 使用Classloader加载全局配置文件,返回InputStream对象3. 配置文件加载 全局配置文件加载,将XML信息存储到Configuration对象 使用sax Reader去读取InputStream对象,创建Document对象 使用dom4j+xpath语法去解析Doc...原创 2020-01-10 10:42:13 · 256 阅读 · 0 评论 -
mybatis 架构概览
架构图接口层接口层是MyBatis提供给开发人员的一套API.主要使用SqlSession接口.通过SqlSession接口和Mapper接口.开发人员,可以通知MyBatis框架调用那一条SQL命令以及SQL命令关联参数.SqlSession接口使用方式public void start() throws IOException{ InputStream is=Resources...原创 2020-01-09 17:30:24 · 874 阅读 · 0 评论 -
mybatis 缓存
Mybatis提供查询缓存,如果缓存中有数据就不用从数据库中获取,用于减轻数据压力,提高系统性能。Mybatis的查询缓存总共有两级,我们称之为一级缓存和二级缓存,如图:一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影...原创 2020-01-09 15:31:52 · 159 阅读 · 0 评论 -
mybatis 延迟加载
mybatis中延迟加载也叫懒加载,是指在进行关联查询时,按照设置延迟规则推迟对关联对象的select查询。延迟加载可以有效的减少数据库压力。mybatis的延迟加载,需要通过resultMap标签中的association和collection子标签才能演示成功。Mybatis的延迟加载,也被称为是嵌套查询,对应的还有嵌套结果的概念。注意:MyBatis的延迟加载只是对关联对象的查询有延迟...原创 2020-01-09 14:34:27 · 85 阅读 · 0 评论 -
mybatis mapper代理开发方式
代理理解代理分为静态代理和动态代理。这里先不是静态代理,因为mybatis使用的是动态代理。动态代理分为两种:1.基于jdk的动态代理–针对有接口的类进行动态代理2.基于cglib的动态代理–通过子类继承父类的方式去进行代理XML方式开发方式只需要开发Mapper接口(dao接口)和Mapper映射文件,不需要编写实现类。• 开发规范Mapper接口开发方式需要遵循以下规范:1...原创 2020-01-09 11:05:49 · 129 阅读 · 0 评论 -
mybatis insert数据 主键返回
<insert> <!--selectKey将主键返回,需要再返回--> <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">select LAST_INSERT_ID()</selectKey></insert>添加sele...原创 2020-01-09 10:45:18 · 91 阅读 · 0 评论 -
mybatis中#{}和${}的区别
mybatis中#{}和${}的区别原创 2020-01-09 10:09:13 · 63 阅读 · 0 评论