1、拜年

哈哈,现在是过年了,祝大家新年好。

本来大过年的是不打算碰电脑的,(抢票除外,三疯同学现在还没抢到票,然后突然又延长假期了)。现在疫情严重,被堵家里不能出去了。不能为国家做贡献,但是起码不能给国家添堵。希望国家能够把疫情控制住,国家加油、武汉加油。

2、概述

Mybatis一直在用,基本使用觉得难度也不大,映射文件、再一整合Spring就可以了。开发效率很快。但是一直都只是停留在使用的层面上,里面的加载机制、框架设计方式、源码啥的也都一直没有去了解过。这不刚好闲下来了,刚好有时间把Mybatis框架好好琢磨一下,扒一扒更深入的东西。在这里望大家多多指教,谢谢。

3、总架构

Mybatis是一个优秀的持久层框架,底层是基于JDBC实现与数据库的交互,并对底层的JDBC的基础上做了封装和优化,加入了缓存、日志等机制。且其中的动态SQL的诱惑力还是很大的。

4、产品分析

MyBatis的产品架构可以从接口应用、SQL处理、基础服务支撑几个角度进行分析。这套分析法则同样也适用于我们学习其他框架,大部分框架设计的总体思路都是差不多的。

5、技术架构分析

总架构、产品架构可以帮助我们很快的知道这套框架是用来做什么的,他为我们提供了哪些便利。但是我们只了解到框架暴露的接口而已,如果想要深入,还是需要了解背后的技术架构,对底层多了解一点,出现问题了也方便及时定位错误。

6、总结

在涉及到读取配置文件的框架中,我们都需要知道IO的读写操作。并且IO的读写时非常损耗资源的。所以框架都会使用对应的API来封装配置文件,缓存起来。当我们需要的时候读取对应你的对象资源,就等于读取配置文件中的资源了。这个在自己设计框架的时候一定要考虑进去,不能一用一读,不然性能全部放在了配置文件读取上了。

1、MyBatis框架底层初涉的更多相关文章

  1. 使用mybatis框架实现带条件查询-单条件

    之前我们写的查询sql都是没有带条件的,现在来实现一个新的需求,根据输入的字符串,模糊查询用户表中的信息 UserMapper.xml UserMapper.java 与jdbc的比较: 编写测试方法 ...

  2. Hibernate框架与Mybatis框架的对比

    学习了Hibernate和Mybatis,但是一直不太清楚他们两者的区别的联系,今天在网上翻了翻,就做了一下总结,希望对大家有帮助! 原文:http://blog.csdn.net/firejuly/ ...

  3. MyBatis 框架笔记

    Mybatis 框架笔记   ------技术源于热爱! 获取更多内容请关注小编的个人微信公众平台 1       Mybatis入门 1.1     单独使用jdbc编程问题总结 1.1.1  jd ...

  4. MyBatis框架知识整理

    MyBatis框架 一.介绍: MyBatis实际上是Ibatis3.0版本以后的持久化层框架[也就是和数据库打交道的框架]! 和数据库打交道的技术有: 原生的JDBC技术---> Spring ...

  5. MyBatis 框架系列之基础初始

    1.什么是 MyBatis MyBatis 本是 apache 的一个开源项目 iBatis,后改名为 MyBatis,它 是一个优秀的持久层框架,对 jdbc 的操作数据库的过程进行封装,使开发者只 ...

  6. 深入理解MyBatis框架的的配置信息

    面对一个框架,最重要的不是说回用其代码就可以了,我们需要了解其思想,这样才能更快更好的掌握这个框架.而对于一个框架,最重要的就是其配置文件的作用及功能了.下面,我就来谈一谈我今天遇到的这个MyBati ...

  7. SSM(Spring + Springmvc + Mybatis)框架面试题

    JAVA SSM框架基础面试题https://blog.csdn.net/qq_39031310/article/details/83050192 SSM(Spring + Springmvc + M ...

  8. 3.3.1 MyBatis框架介绍

    MyBatis框架介绍 1. 什么是框架 (1) 框架是偷懒的程序员将代码进行封装, 之后进行重复使用的过程. (2) 框架其实是一个半成品, 以连接数据库为例, 连接数据库使用的驱动, url, 用 ...

  9. 从 0 开始手写一个 Mybatis 框架,三步搞定!

    阅读本文大概需要 3 分钟. MyBatis框架的核心功能其实不难,无非就是动态代理和jdbc的操作,难的是写出来可扩展,高内聚,低耦合的规范的代码. 本文完成的Mybatis功能比较简单,代码还有许 ...

随机推荐

  1. SQLServer使用链接服务器远程查询

    --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogi ...

  2. python之路之io多路复用

    1.实现io多路复用利用select s1同时接受三个客户端(开启了三个服务器端口) #!/usr/bin/env python # -*- coding: utf-8 -*- import sock ...

  3. CompletableFuture--给future调用增加回调或聚合操作

    CompletableFuture--增大内存节省时间.整合多个future调用,来减少时间 例如:第一个future 返回时1s,第二个返回时2s,第三个返回是3s   CompletableFut ...

  4. mybatis 查询list,内容为null,但list的size 为1

    List<Integer> cityList = resourcePartnerService.selectCityList(userId); 需要在SQL里where语句加上 字段不为n ...

  5. hdu:2089 ( 数位dp入门+模板)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 数位dp的模板题,统计一个区间内不含62的数字个数和不含4的数字个数,直接拿数位dp的板子敲就行 ...

  6. tf.train.examle函数

    在自定义数据集中: example = tf.train.Example(features=tf.train.Features(feature={ 'img_raw': tf.train.Featur ...

  7. bugku 管理员系统

    这一个是伪造ip X-FORWARDED-FOR:127.0.0.1 用到了XFF头 首先打开网站会发现一个登录界面 然后用开发者工具看一下 后台会发现一串用base64加密的密文 用base64解密 ...

  8. 旋转坐标+前缀和(zqu 25001)

    本题题意:在一个矩阵中,去随机一点,设定一个步数K,求出从这个点可以走到的范围的和,求最大值 思路:这个范围的和是一个菱形,我们把他旋转45°,然后成为一个正放的矩阵,求出二维前缀和 然后用前缀和的性 ...

  9. Eclipse代码规范

    配置代码自动格式化 1.导入规范文件  codeStyle.xml <?xml version="1.0" encoding="UTF-8" standa ...

  10. 每天进步一点点------SOPC的Avalon-MM IP核(三) LCD1602 IP定制

    注:Avalon信号类型命名参考图 /********************************************************************************* ...