深入了解Mybatis使用及实现原理
该专栏用于通过若干篇文章来讲解Mybatis的使用,并通过结合源码分析来具体说明其内部工作原理,让你深入了解Mybatis。
DreamMakers
凡办大事,以识为主,以才为辅,凡成大事,人谋居半,天意居半。
展开
-
Mybatis中SQL语句执行过程详解
前面的十来篇文章我们对Mybatis中的配置和使用已经进行了比较详细的说明,想了解的朋友可以查看一下我专栏中的其他文章。但是你对整个SQL语句操作的过程了解吗?如果你还不是很了解,那么可以继续往下看,如果你已经了解了,那么可以跳过啦。1. SqlSessionFactory和SqlSession所有语句的执行都是通过SqlSession对象来操作的,SqlSession是由Sq原创 2017-05-15 20:37:24 · 7428 阅读 · 2 评论 -
Mybatis中Mapper映射文件详解
紧接上文所述,在这篇文章中我将对Mapper映射文件进行详细的说明。Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范,如ibatis-3-mapper.dtd。我们先大体上看看支持哪些配置?如下所示,从Eclipse里截了个屏:从上图可以看出,映射文件是以作为根节点,在根节点中支持9个元素,分别为insert、update、delete、select(增删原创 2017-05-15 15:23:15 · 81532 阅读 · 9 评论 -
Mybatis配置之<objectFactory>元素详述
在上篇文章中,我们对配置及背后的源码进行了比较详细的说明,今天,我们来对下一个元素进行详细说明。这个元素,大家在使用mybatis的时候设置吗?我是从来没有设置过啊。使用mybatis为我们已经写好的默认实现已经能够满足绝大多数的场景需求。那么这个元素又是干什么的呢?官方文档上是这么说的:MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFacto原创 2017-05-15 07:23:53 · 3231 阅读 · 0 评论 -
Mybatis配置之<typeHandlers>元素详述
在Mybatis配置之配置元素详述>我们对元素配置进行了说明,而后通过两篇文章Mybatis中的数据源与连接池详解>Mybatis中的事务管理器详述>分别对数据源和事务管理器进行了详述,从这篇文章起,我们继续来讲述mybatis配置文件中的其他元素配置项。今天,我们就来说说这个元素,看看是怎么使用的。我们都知道,mybatis为我们隐藏了很多操作数据库的代码,如在预处理语句Prepar原创 2017-05-14 21:10:54 · 7190 阅读 · 0 评论 -
Mybatis中的事务管理器详述
在上篇文章Mybatis中的数据源与连接池详解>中,我们结合源码对mybatis中的数据源和连接池进行了比较详细的说明。在这篇文章中,我们讲讲相关的另外一个主题——事务管理器。在前面的文章中,我们知道mybatis支持两种事务类型,分别为JdbcTransaction和ManagedTransaction。接下来,我们从mybatis的xml配置文件入手,讲解事务管理器工厂的创建,原创 2017-05-14 19:56:22 · 13929 阅读 · 0 评论 -
Mybatis中的数据源与连接池详解
在前面的文章《Mybatis配置之配置元素详述》中我们已经知道里面可以配置两个元素,一个是数据源及连接池的配置,一个是事务管理器的配置。在上篇文章中我们只是简单的描述了一下,从这篇文章开始,我们将分两篇博文,分别对这两个问题进行详细说明。这篇文章我们先来了解一下数据源及连接池的配置。(1)Mybatis中支持的数据源在上篇文章中,我们知道Mybatis中支持三种形式数据源的配置原创 2017-05-14 15:05:15 · 36590 阅读 · 9 评论 -
Mybatis配置之<environments>配置元素详述
在这篇文章中,我们接着前文继续往下看其他的配置元素,今天的主角就是我们的元素,该元素用于对我们需要访问的数据库配置进行设置,我们先来看一下配置: 从上面看,我们知道下面可以配置多个元素节点,而每个节点我们可以配置两个东西,一个是事务管理器配置,另一个是数据源配置。我们先从源码开始看起,看原创 2017-05-11 14:09:24 · 11232 阅读 · 1 评论 -
Mybatis配置之<typeAliases>别名配置元素详述
在前面的文章Mybatis配置之属性配置元素详述>,我们讲述了标签元素的配置和使用方法。在这篇文章中,我们来说说标签元素,这个元素主要是用于对类型进行别名控制,具体什么意思呢?我们下面用一个示例说明,看了之后我相信你就会明白了。这里我们贴出之前的UserDao对应的mapper文件,如下所示: <!DOCTYPE mapper PUBLIC "-//ibatis.a原创 2017-05-09 21:05:30 · 42998 阅读 · 4 评论 -
Mybatis配置之<properties>属性配置元素详述
紧接着上篇博客《Mybatis的配置文件入门介绍》,我们开始对mybatis核心配置文件中的各个元素进行详细的说明,在这篇文章中,我们首先来看下元素,这个元素从上篇文章中可以看到是最先被解析的,设置的属性值将会被其他元素所使用。我们先将之前的配置文件在这里拷贝一份,以便对比观察,如下所示:<!DOCTYPE configuration PUBLIC "-//my原创 2017-05-09 13:03:08 · 5767 阅读 · 1 评论 -
Mybatis的配置文件入门介绍
从前面的几篇文章,我们看到了,如何简单的使用Mybatis。从这篇文章开始,我们将从其核心配置文件入手,对Mybatis支持的核心配置文件进行简单详细的描述。从下面这段代码是我们在使用mybatis前的配置初始化过程,我们通过阅读其源码来逐步了解内部实现原理。// Mybatis 通过SqlSessionFactory获取SqlSession, 然后才能通过SqlSession与数据库进行原创 2017-05-08 13:06:55 · 1641 阅读 · 0 评论 -
如何通过Mybatis实现数据的增删改查(CRUD)操作?
在上一篇文章中,我们应该算是简单的进入了MyBatis的世界,在这篇文章中,我们从简单的增删改查说起,毕竟对于数据库操作来说,这几种操作是肯定逃不掉的。在这篇文章中,我们不在对所有需要的东西全部列举出来,而是在上一篇文章的基础上进行修改。首先,我们需要修改的就是接口类,提供增删改查的方法,如下所示:package com.majing.learning.mybatis.dao;原创 2017-05-05 17:30:18 · 3707 阅读 · 0 评论 -
从一个简单的示例,我们开始进入Mybatis的世界!
在这篇文章中,我们通过一个简单的Java示例来说明如何使用Mybatis,不必追究细枝末节的东西,只是看看如何去使用而已。首选,我假定大家用过maven,因为我这里建立的是Maven项目,因为觉得用Maven引用jar包太方便了(发明这个东西的人太有才了)。接下来我们需要在pom文件中添加我们需要的jar包,包含以下几个方面:(1)mysql的驱动;(2)mybai原创 2017-05-05 15:05:31 · 1563 阅读 · 3 评论 -
拥有了JDBC,为什么还要有Hibernate和Mybatis等持久层框架?
JDBC,我想对于学Java的人简直太熟悉了,如果谁说不知道,那么狠遗憾的告诉你,你不是Java人!这篇文章的主要目的还是想把大家引入后面我们重点要说的内容,那就是Mybatis和Hibernate两个持久层框架。既然要研究这两个框架,那么就该知道为什么会出现这两个框架。我记得,我刚步入Java的时候,那时候操作数据库是按照找个步骤写的:(1)注册驱动;(2)获取数据库连接原创 2017-05-05 14:25:40 · 4897 阅读 · 0 评论