mybatis
文章平均质量分 80
阿进的写字台
I don’t know what I think until I try to write it down
展开
-
mybatis源码-解析配置文件(三)之配置文件Configuration解析(超详细, 值得收藏)
简介在之前的文章《mybatis 初步使用(IDEA的Maven项目, 超详细)》中, 讲解了mybatis的初步使用, 并总结了以下mybatis的执行流程: 通过 Resources 工具类读取 mybatis-config.xml, 存入 Reader; SqlSessionFactoryBuilder使用上一步获得的reader创建SqlSessionFactory对...原创 2018-09-19 09:12:14 · 468 阅读 · 0 评论 -
mybatis源码-Mapper解析之SQL 语句节点解析(一条语句对应一个MappedStatement)
在 mybatis 中, 对应 CRUD 的是四种节点: <select>, <insert>, <delete>, <update>。在解析 Mapper.xml 文件中, 会调用 XMLStatementBuilder 来 进行这几个节点的解析。 解析完成后使用 MappedStatement 来表示一条条 SQL 语句。 完原创 2018-11-19 23:47:29 · 2170 阅读 · 0 评论 -
MyBatis-你所不了解的sql和include
在前一篇[MyBatis动态SQL(认真看看, 以后写SQL就爽多了)]中, 详细给出了动态 SQL 的用法, 也收到了至今为止最多的赞和日阅读量。今天在大致讲解一下 <sql> 和 <include> 节点的使用。sql 节点的基础对于 <sql> 节点, 很多人的理解原创 2018-11-14 23:21:14 · 2396 阅读 · 0 评论 -
MyBatis动态SQL
MyBatis 令人喜欢的一大特性就是动态 SQL。 在使用 JDBC 的过程中, 根据条件进行 SQL 的拼接是很麻烦且很容易出错的。 MyBatis 动态 SQL 的出现, 解决了这个麻烦。MyBatis通过 OGNL 来进行动态 SQL 的使用的。目前, 动态 SQL 支持以下几种标签元素作用备注if判断语句单条件分支choose(when、otherw...原创 2018-11-05 16:07:22 · 256 阅读 · 1 评论 -
mybatis百科-结果集映射类ResultMap
ResultMap 对应的是结果集 <resultMap>中的一个结果集。 其基本组成部分中, 含有 ResultMapping 对象。其组成大致如下:本文, 主要讲解一下该类的组成。1 成员变量 // resultMap 节点的 id private String id; // resultMap 节点的 type private Class<?>...原创 2018-10-23 23:13:45 · 1051 阅读 · 0 评论 -
mybatis源码-解析配置文件(四-二)之配置文件Mapper解析(resultMap)
在 select 语句中查询得到的是一张二维表, 水平方向上看是一个个字段, 垂直方向上看是一条条记录。作为面向对象的语言, Java 中的的对象是根据类定义创建的。 类之间的引用关系可以认为是嵌套的关系。在 mybatis 中, resultMap 节点定义了结果集和结果对象(JavaBean)之间的映射规则。本文主要讲解的是 resultMap 的解析。1 两个基础类在阅读本文之前,...原创 2018-10-25 23:53:25 · 785 阅读 · 0 评论 -
mybatis百科-列映射类ResultMapping
ResultMapping 对象是 mybatis 的 <resultMap> 节点在 ResultMap 对象中基础组成部分.ResultMapping 对象记录了结果集中一列与队友JavaBean中一个属性的对应关系。1 成员变量// Configuration 对象, 看过前面源码的应该知道这个对象的含义private Configuration configurati...原创 2018-10-22 23:28:46 · 2329 阅读 · 0 评论 -
mybatis 缓存的使用, 看这篇就够了
缓存的重要性是不言而喻的。 使用缓存, 我们可以避免频繁的与数据库进行交互, 尤其是在查询越多、缓存命中率越高的情况下, 使用缓存对性能的提高更明显。mybatis 也提供了对缓存的支持, 分为一级缓存和二级缓存。 但是在默认的情况下, 只开启一级缓存(一级缓存是对同一个 SqlSession 而言的)。以下的项目是在mybatis 初步使用(IDEA的Maven项目, 超详细)的基础上进行。...原创 2018-09-30 13:28:33 · 58691 阅读 · 19 评论 -
mybatis 多个接口参数的注解使用方式(@Param)
1 简介1.1 单参数在 Mybatis 中, 很多时候, 我们传入接口的参数只有一个。 对应接口参数的类型有两种, 一种是基本的参数类型, 一种是 JavaBean。例如在根据主键获取对象时, 我们只需要传入一个主键的参数即可。 而在插入, 更新等操作时, 一般会涉及到很多参数, 我们就使用 JavaBean。1.2 多参数但是, 在实际的情况中, 我们遇到类似这样的情况可能:接口...原创 2018-10-09 09:40:18 · 13821 阅读 · 0 评论 -
mybatis-高级结果映射之一对多(你知道一对多的结果是如何合并的吗)
在一对多的关系中, 主表的数据回对应关联表中的多条数据。 因此, 查询时就会查询出多条结果, 所以, 向类似的情况我们会使用 List 来进行存储关联表中获取到的信息。1 数据准备创建以下的名为 mybatis 的数据库, 并在其下创建4个表。在此就不贴出来建表的 SQL 语句了 , 感兴趣的可以去我的 Github:mybatis-mapping 中获取。1.2 实体类, 接口和XML...原创 2018-10-18 10:03:47 · 8864 阅读 · 4 评论 -
mybatis-高级结果映射之一对一
mybatis的高级结果映射可以很轻松的帮助我们处理一对一, 一对多的数据关系。1 数据准备1.1 数据库创建以下的名为 mybatis 的数据库, 并在其下创建4个表。在此就不贴出来建表的 SQL 语句了 , 感兴趣的可以去我的 Github:mybatis-mapping 中获取。1.2 实体类, 接口和XML使用 mybatis-代码生成器 生成相应的实体类, 接口和XML。...原创 2018-10-14 11:50:17 · 524 阅读 · 0 评论 -
mybatis 代码生成器(IDEA, Maven)及配置详解(部分配置你应该不知道)
在使用 mybatis 过程中, 当手写 JavaBean和XML 写的越来越多的时候, 就越来越同意出错。这种重复性的工作, 我们当然不希望做那么多。还好, mybatis 为我们提供了强大的代码生成–MybatisGenerator。通过简单的配置, 我们就可以生成各种类型的实体类, Mapper接口, MapperXML文件, Example对象等。 通过这些生成的文件, 我们就可以方...原创 2018-10-13 12:00:28 · 291 阅读 · 0 评论 -
mybatis源码-解析配置文件(四-1)之配置文件Mapper解析(cache)
相关文章推荐mybatis 缓存的使用, 看这篇就够了mybatis源码-解析配置文件(四)之配置文件Mapper解析1. 简介本文章主要讲解的是, xxxMapper.xml 文件中, cache 节点的源码。2. 解析XMLMapperBuilder.cacheElement() 方法主要负责解析 <cache> private void c...原创 2018-10-05 00:16:23 · 373 阅读 · 0 评论 -
mybatis源码-解析配置文件(四)之配置文件Mapper解析
在 mybatis源码-解析配置文件(三)之配置文件Configuration解析 中, 讲解了 Configuration 是如何解析的。其中, mappers作为configuration节点的一部分配置, 在本文章中, 我们讲解解析mappers节点, 即 xxxMapper.xml 文件的解析。1 解析入口在解析 mybatis-config.xml 时, 会进行解析 xxxMapp...原创 2018-10-04 00:46:56 · 341 阅读 · 0 评论 -
mybatis抽取出的工具-(一)通用标记解析器(即拿即用)
在深入理解 mybatis 原理过程中, 我不单单是想理解整个 mybatis 是怎么运行的, 我还想从这个过程中提取出一些对自己有益的编程方法, 编程思想, 注释, 以及一些实用工具类。1. 简介1.1 mybatis-config.xml 中使用在 mybatis-config.xml 文件中, 我们常常看到类似的配置<properties> <propert...原创 2018-10-03 13:26:05 · 1134 阅读 · 0 评论 -
mybatis源码-解析配置文件(三)之配置文件Configuration解析(超详细, 值得收藏)
1. 简介1.1 系列内容本系列文章讲解的是mybatis解析配置文件内部的逻辑, 即 Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);...原创 2018-09-19 09:13:59 · 1664 阅读 · 0 评论 -
mybatis源码-解析配置文件(一)之XML的DOM解析方式
简介在之前的文章《mybatis 初步使用(IDEA的Maven项目, 超详细)》中, 讲解了mybatis的初步使用, 并总结了以下mybatis的执行流程:通过 Resources 工具类读取 mybatis-config.xml, 存入 Reader;SqlSessionFactoryBuilder使用上一步获得的reader创建SqlSessionFactory对象;通过 sq...原创 2018-09-19 00:17:17 · 458 阅读 · 0 评论 -
mybatis源码-解析配置文件(二)之解析的流程
1. 简介在之前的文章《mybatis 初步使用(IDEA的Maven项目, 超详细)》中, 讲解了mybatis的初步使用, 并总结了以下mybatis的执行流程: 通过 Resources 工具类读取 mybatis-config.xml, 存入 Reader; SqlSessionFactoryBuilder 使用上一步获得的 reader 创建 SqlSessionF...原创 2018-09-16 08:55:18 · 875 阅读 · 0 评论 -
mybatis源码- 反射模块一(跟着MyBatis学反射):类级别信息的封装
反射就是在运行的状态中, 对于任意的一个实体类, 都能知道这个类的所有属性和方法。 并将其封装成一个个对象, 对通过这些对象来实现对应实体类的创建, 以及访问该类的方法和属性。在我们创建了一个Java类之后, 编译出的.class文件在虚拟机中加载, 都会在JVM中创建一个Class对象,通过该对象来创建这个类的所有对象。在 Mybatis 中, 有对应的反射模块, 本文就是探究 mybati...原创 2018-12-20 13:33:57 · 2033 阅读 · 1 评论