
Mybatis
rice_88
致力于做一个优雅的架构师
展开
-
Mybatis中使用的spring接口
**InitializingBean**org.springframework.beans.factory.InitializingBean.java在所有的properties被注入完成后会调用实现类的方法:void afterPropertiesSet()mybatis配置的org.mybatis.spring.SqlSessionFactoryBean就是通过这种方式初始化的。...原创 2019-06-23 15:22:22 · 209 阅读 · 0 评论 -
Mybatis入门,从一个简单的JdbcUtil开始
大学时候就学的最原始的JDBC,刚毕业那会,笔试还要求手写JDBC。什么都不说了,看代码吧。首先,要去官网下载一个mysql的驱动包,如:mysql-connector-java-5.1.27.jar然后,Run As Java Applicationpackage com.rice.web;import java.sql.Connection;import java.sql.Driv...原创 2019-06-21 00:20:52 · 377 阅读 · 0 评论 -
Mybatis源码分析——如何执行一条sql
Mybatis源码分析——如何为dao类生成代理对象从上面这篇文章中,我们知道,mybatis为dao类生成了一个代理对象,最终调用SqlSession的方法来执行sql。那SqlSession是如何产生的呢,当然是通过SqlSessionFactory创建的啦,那SqlSessionFactory又是如何产生的呢,当然是通过SqlSessionFactoryBuilder创建的啦。Sql...原创 2019-06-29 22:31:58 · 550 阅读 · 0 评论 -
Mybatis源码分析——如何为dao类生成代理对象
Mybatis入门,一个简单的demo在上面demo中,我们定义了一个dao接口,并没有实现类,然后直接调用接口的方法,就可以执行mapper里的sql。这是怎么做到的呢。Mybatis源码分析——mapper.xml解析在这篇文章中,我们分析到:mapper.xml对应的dao类会添加到configuration的MapperRegistry的Map<Class<?>...原创 2019-06-29 20:58:43 · 1186 阅读 · 0 评论 -
Mybatis源码分析——文章目录
本系列文章有10多篇,写的好棱乱,哈哈!为了方便阅读,特意梳理了一个阅读目录 ,如下引导及使用demoMybatis入门,从一个简单的JdbcUtil开始Mybatis入门,一个简单的demo整体架构Mybatis源码分析——框架架构配置文件解析Mybatis源码分析——mybatis-config.xml解析Mybatis源码分析——mapper.xml解析Myba...原创 2019-07-14 01:08:36 · 380 阅读 · 0 评论 -
Mybatis源码分析——事务
我们平时使用db都离不开事务,那在mybatis中是如何实现事务的呢。mybatis中有事务Transaction,必有生产事务的TransactionFactory。TransactionFactory:有3个实现类,分别是JdbcTransactionFactory、ManagedTransactionFactory和SpringManagedTransactionFactory,前2...原创 2019-07-13 01:46:17 · 407 阅读 · 0 评论 -
Mybatis源码分析——框架架构
Mybatis是什么?Mybatis是一个ORM框架。在ORM框架出来之前,我们如何操作DB?用JDBC连接数据库操作,我们可以写一个JdbcUtil去操作。如:Mybatis入门,从一个简单的JdbcUtil开始为什么会出现ORM?试想一下,手写一个JdbcUtil会存在什么问题?数据库连接太昂贵?频繁获取释放连接严重影响性能?每次操作数据库都要使用PreparedStateme...原创 2019-06-22 17:41:44 · 797 阅读 · 0 评论 -
Mybatis入门,一个简单的demo
用java操作数据库,一个JdbcUtil就搞定了。如:Mybatis入门,从一个简单的JdbcUtil开始但是,这会有什么问题呢?问题很多,非常多,哈哈。ORM的出现就是这了解决这些问题,比如经典强大的Mybatis(曾用名:ibatis)。具体解决了什么问题,后续再讲。先来看看,一个简单的demo。99%的情况下,mybatis都是集成在springmvc或springboot里使用...原创 2019-06-22 16:42:33 · 498 阅读 · 0 评论 -
Mybatis源码分析——配置文件解析的类图
我们在解析mybatis-config.xml文件和mapper.xml文件的时候,各种Builder是不是琳琅满目眼花缭乱。好吧,那我们就重新来梳理一下它们之间的关系吧,梳理完成后,回头去看源码,保你眼前一亮豁然开朗。这么多Builder其实使用的是建造模式,它们之间的关系如下BaseBuilder:基类,定义了Configurationconfiguration,也是建造目标...原创 2019-07-03 01:27:57 · 750 阅读 · 0 评论 -
Mybatis源码分析——mapper.xml解析
本系列的文章都是基于这个demo来分析的Mybatis入门,一个简单的demo在源码分析过程中,会使用到一些额外的知识点,比如Mybatis中使用的spring接口Mybatis中使用的设计模式Mybatis初始化配置文件分为两个阶段,如下mybatis-config.xml解析 mapper.xml文件解析本篇分析的是第二阶段。上一篇讲到解析mapper.xml是在X...原创 2019-06-27 01:28:34 · 886 阅读 · 0 评论 -
Mybatis源码分析——mybatis-config.xml解析
在源码分析过程中,会使用到一些额外的知识,比如Mybatis中使用的spring接口Mybatis中使用的设计模式Mybatis初始化配置文件分为三个阶段,如下mybatis-config.xml解析mapper.xml文件解析mapper跟dao绑定本篇分析的是第一阶段。本系列的文章都是基于这个demo来分析的Mybatis入门,一个简单的demo首先,看一下初始化入口...原创 2019-06-23 19:13:18 · 995 阅读 · 0 评论 -
Mybatis中使用的设计模式
建造者模式这里讲得很清楚了深入浅出设计模式——建造者模式(Builder Pattern)在mybatis中,在解析配置文件的时候使用。Builder角色是org.apache.ibatis.builder.BaseBuilder,ConcreteBuilder角色就是它的实现类,分别负责解析不同类型的配置文件,包括org.apache.ibatis.builder.xml.XMLCo...原创 2019-06-23 15:49:58 · 743 阅读 · 0 评论 -
Mybatis源码分析——sql执行过程的类图
前面分析了sql的执行过程,似乎有点乱,因为没有一个整体的流程图,不知道走到哪是哪。好吧,我重新画了个图。我们再跟着图来梳理一次吧。如下SqlSession:有3个实现类,分别是DefaultSqlSession、SqlSessionManager、SqlSessionTemplate,后2者其实也是通过代理的方式,最终由DefaultSqlSession实现功能。在DefaultSq...原创 2019-07-11 01:31:20 · 619 阅读 · 0 评论