0%

mybatis详细执行过程

下面结合源码来分析一下mybatis的详细执行过程,mybatis的源码在流行的框架中写的还是比较简单且清晰的,可以作为研究框架源码的一个敲门砖,以此来建立一下研究源码的信心。

  • [ ] 待整理

阅读全文 »

mybatis整合spring

当前spring是最热门的框架之一,很多框架都需要和spring整合,将组件交给spring的IOC容器来管理,下面来带大家来简单地配置一下mybatis和spring的整合

阅读全文 »

mybatis缓存机制

mybatis包含缓存机制,可以方便的配置和定制。

默认定义了一级缓存和二级缓存。

  • 默认情况下,只有一级缓存开启(sqlSession级别的缓存,也称本地缓存)
  • 二级缓存需要手动开启和配置,是基于namespace级别的缓存(全局缓存)
  • 为了提高扩展性。Mybatis定义了缓存接口Cache,可以通过实现Cache接口来自定义二级缓存
阅读全文 »

动态sql

在写sql语句时如果使用语句拼接,根据不同的参数组织不同的语句,经常出现少或多一个and,缺少空格,最后出现逗号等问题,mybatis通过动态sql来解决这些问题。

mybatis中包含有if、choose、when、otherwise、trim、where、set、foreach等标签

动态sql中的表达式使用的是OGNL表达式

阅读全文 »

排序算法

对于排序过程中待排序的记录是否全部放置在内存中,排序分为内排序和外排序。

  • 内排序:是指在整个排序过程中,待排序的所有记录都放在内存中,主要有插入排序、交换排序、选择排序和归并排序
  • 外排序:是指待排序记录没有同时放置在内存中,整个排序过程需要在内外存之间多次交换数据才能进行

按照策略分类主要的排序算法有:插入排序、选择排序、交换排序、归并排序、分配排序

阅读全文 »