
mybatis
quge_name_harder
指尖 拥有改变世界的力量
展开
-
mybatis学习一
一:mybatis是什么?mybatis是ORM(Object relation mapping,对象关系映射)规则的一种具体实现用于解决实体类与数据库中的表的字段的对应关系而jdbc,dbutils,mybatis,hibernate 都是这种规则的一种具体体现其中mybatis,dbutils,mybatis,hibernate的底层都是封装了jdbc二:mybat...原创 2018-06-13 09:17:45 · 251 阅读 · 0 评论 -
mybatis学习二
本文很多内容都是参考网友的资料,自己整理了一下,设为原创主要想赚点C币,谅解本文主要介绍分页查询以及动态SQL一:分页查询(有条件和无条件)主要修改 StudentMapper.xml 和 StudentDao.java。StudentMapper.xml<?xml version="1.0" encoding="UTF-8" ?><!DO...原创 2018-06-13 10:07:44 · 173 阅读 · 0 评论 -
mybatis学习三(动态SQL)
一对一映射【学生与身份证】1)创建students.sql和cards.sqldrop table students;drop table cards;create table cards( id int(5) primary key, num varchar(20));create table students( id int(5) primary key, name...原创 2018-06-14 08:25:28 · 177 阅读 · 0 评论 -
mybatis学习十三(核心流程-数据读写模块)
目录一、整体流程二、逐步分析2.1 StatementHandler类图2.2 demo2.3 ParameterHandler3.4 ResultSetHandler一、整体流程二、逐步分析Mybatis对外只暴露了Sqlsession供我们使用,但是Sqlsession其实也只是一个传话的,从上图中可以看出,我们调用Sqlsession对数据库进行操...原创 2020-05-06 22:00:37 · 288 阅读 · 0 评论 -
mybatis学习十二(核心流程-代理阶段+初识数据读写模块)
目录一、Binding模块1.1 目标1.2 步骤1.3 源码二、binding模块类图三、Sqlsession3.1 策略模式3.2 Sqlsession3.3 Executor3.4 BaseExecutorMybatis是面向接口编程的,但是项目中并没有这些接口的实现类而是在程序运行时,Mybatis通过动态代理在内存中为我们创建接口的实现类,...原创 2020-05-06 21:40:23 · 225 阅读 · 0 评论 -
mybatis学习十一(核心流程-初始化阶段)
目录一、mybatis核心流程二、初始化阶段2.1 建造者模式(Builder Pattern)概念2.2 四个角色2.3 使用场景2.4 建造者模式和工厂模式的区别三、Mybatis建造者类图四、解析流程一、mybatis核心流程我们将mybatis启动分为三个阶段,分别为初始化阶段:该阶段主要工作,将核心配置文件mybatis-confi...原创 2020-04-27 09:34:38 · 406 阅读 · 0 评论 -
mybatis学习十(源码分析-反射模块)
目录一、引入二、mybatis反射核心API2.1ObjectFactory2.2ReflectorFactory2.3ObjectWrapper2.4 MetaObject2.5 举例一、引入反射可谓是mybatis中重要的一块,那么在mybatis中如果使用反射的呢?我们使用JDBC为例public class JdbcDemo {...原创 2020-04-26 14:08:16 · 235 阅读 · 0 评论 -
mybatis学习九(源码分析-缓存模块)
目录一、Mybatis缓存简述二、怎么样优雅的为核心功能添加附加能力?三、装饰器模式四、缓存中使用装饰器模式五、BlockingCache六、CacheKey一、Mybatis缓存简述Mybatis缓存实现是基于Map的,从缓存里面读写数据是缓存模块的核心基础功能。除核心功能之外,还有很多额外的附加功能,如:防止缓存击穿,添加缓存清空策略(fifo、lru)、序...原创 2020-04-26 11:04:30 · 188 阅读 · 0 评论 -
mybatis学习八(源码分析-数据源模块)
一、数据源模块需求常见的数据源组件都实现了javax.sql.DataSource接口MyBatis不但要能集成第三方的数据源组件,自身也提供了数据源的实现一般情况下,数据源的初始化过程参数较多,比较复杂二、工厂模式由于数据源的初始化过程参数较多,比较复杂,不适合我们自己来创建数据源Mybatis在实现数据源模块的时候,采用了工厂模式工厂模式分为三类1)简单工厂模式...原创 2020-04-21 16:08:24 · 320 阅读 · 0 评论 -
mybatis学习七(源码分析-日志模块)
目录一、Mybatis整体架构二、日志模块2.1 三大原则2.2 存在问题2.3 解决方式一、Mybatis整体架构二、日志模块2.1 三大原则首先我们先了解一下在开发过程中需要遵守的原则,这在mybatis设计日志模块时充分利用了这三大原则 单一职责原则:一个类或者一个接口只负责唯一项职责,尽量设计出功能单一的接口 依赖...原创 2020-04-21 09:57:26 · 272 阅读 · 0 评论 -
mybatis学习六(缓存)
一、简介缓存是通过将常用数据保存在内存,以便于下次使用时不用访问数据库,而是直接访问缓存,从而提高效率的一种手段Mybatis缓存分为一级缓存和二级缓存二、一级缓存一级缓存是基于SqlSession的,生命周期和SqlSession一致在同一个 SqlSession 中查询时, MyBatis 会把执行的方法和参数通过算法生成缓存的键值,将键值和查询结果存入一个 Map对象中。...原创 2020-04-20 12:55:49 · 130 阅读 · 0 评论 -
mybatis学习五(关联查询)
一、关联查询association 一对一关系 collection 一对多关系 discriminator 鉴别器映射关联方式 嵌套结果:使用嵌套结果映射来处理重复的联合结果的子集,简而言之:一个sql查询多表嵌套查询:通过执行另外一个 SQL 映射语句来返回预期的复杂类型,简而言之:多个sql查询多表二、 一对一在Mybatis中,一对一查询是通过...原创 2020-04-18 17:11:46 · 228 阅读 · 0 评论 -
mybatis学习四(代码生成器MGB)
MyBatis Generator(MGB) MyBatis 的开发团队提供了一个很强大的代码生成器,代码包含了数据库表对应的实体 类 、Mapper 接口类、 Mapper XML 文件和 Example 对象等,这些代码文件中几乎包含了全部的单表操作方法,使用 MBG 可以极大程度上方便我们使用 MyBatis。MGB核心APIgeneratorConfigur...原创 2020-04-17 17:07:07 · 1014 阅读 · 0 评论 -
配置Mybatis的mapper.xml可以自动补全
复制 http://mybatis.org/dtd/mybatis-3-mapper.dtd点击myeclipse 的 window preferecxes原创 2018-10-25 20:14:48 · 1689 阅读 · 0 评论