Mybatis源码分析第一天------Mybatis实用篇

一切最基本的操作就是参考官方文档:https://mybatis.org/mybatis-3/zh/configuration.html

1、是什么

什么是 MyBatis?
a、MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。
b、MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
c、MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

2、对比 JDBC 和 MyBatis

3、作用域和生命周期

4、Mapper的xml和annotation形式

5、配置文件解读

6、一级缓存和二级缓存


7、分页

逻辑分页通常不可取,影响性能

8、批量操作

9、嵌套查询和嵌套结果

1:1嵌套查询是两次查询

1:多 嵌套查询,标签是Collection
嵌套查询:可能存在n+1的问题,查的东西比想要的东西多了很多,导致白查了

嵌套结果:对查询出来的结果做嵌套,加了join

10、mybatis 概览

Mybatis源码分析第一天------Mybatis实用篇相关推荐

  1. MyBatis源码分析-IDEA新建MyBatis源码工程

    MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简 ...

  2. 【mybatis源码分析(四)】mybatis事务实现原理

    Mybatis管理事务分为三种方式: mybatis的Transaction接口 JdbcTransaction:使用JDBC的事务管理机制,利用java.sql.Connection对象完成事务的提 ...

  3. springboot集成mybatis源码分析(一)

    springboot集成mybatis源码分析(一) 本篇文章只是简单接受使用,具体源码解析请看后续文章 1.新建springboot项目,并导入mybatis的pom配置 配置数据库驱动和mybat ...

  4. MyBatis 源码分析 - 缓存原理

    1.简介 在 Web 应用中,缓存是必不可少的组件.通常我们都会用 Redis 或 memcached 等缓存中间件,拦截大量奔向数据库的请求,减轻数据库压力.作为一个重要的组件,MyBatis 自然 ...

  5. MyBatis 源码分析 - 内置数据源

    1.简介 本篇文章将向大家介绍 MyBatis 内置数据源的实现逻辑.搞懂这些数据源的实现,可使大家对数据源有更深入的认识.同时在配置这些数据源时,也会更清楚每种属性的意义和用途.因此,如果大家想知其 ...

  6. MyBatis 源码分析 - SQL 的执行过程

    本文速览 本篇文章较为详细的介绍了 MyBatis 执行 SQL 的过程.该过程本身比较复杂,牵涉到的技术点比较多.包括但不限于 Mapper 接口代理类的生成.接口方法的解析.SQL 语句的解析.运 ...

  7. MyBatis 源码分析 - 映射文件解析过程

    1.简介 在上一篇文章中,我详细分析了 MyBatis 配置文件的解析过程.由于上一篇文章的篇幅比较大,加之映射文件解析过程也比较复杂的原因.所以我将映射文件解析过程的分析内容从上一篇文章中抽取出来, ...

  8. MyBatis 源码分析系列文章导读

    1.本文速览 本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章.本篇文章从 MyBatis 是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说 ...

  9. MyBatis 源码分析系列文章导读 1

    1.本文速览 本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章.本篇文章从 MyBatis 是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说 ...

最新文章

  1. 【错误记录】Ubuntu 修改 hosts 文件 ( 使用 gedit /etc/hosts 命令打开并修改 hosts 文件 )
  2. How Many Tables
  3. VTK:可视化算法之CarotidFlow
  4. java 三维数组长方体求体积_已知任意一个四面体的六条棱长,如何求出其体积?...
  5. VS 2005 WEB PROJECT包括Crystal Report水晶报表的发布
  6. vs 2019 aspx灰色_蛇纹当道,豹纹在侧:穿成动物园是2019时尚大势?
  7. 软件生存周期文档系列 之 6.用户操作手册
  8. python两数相加有进退位_Leetcode_两数相加_python
  9. Django实战(21):使用内置的Amin管理用户
  10. 呼叫中心系统源码_RC09(支持二次开发)CC呼叫中心系统 源码
  11. 【毕设】selenium 爬取知网作者信息
  12. SaleSmartly注册登录教程
  13. 电动汽车的数据记录 BMS
  14. 杨强教授漫谈《西部世界》、生成式对抗网络及迁移学习
  15. 2021年山东省安全员C证新版试题及山东省安全员C证免费试题
  16. Caffe Scale层
  17. CCI金融技术指标的算法
  18. java计算机毕业设计中医药科普网站源码+mysql数据库+系统+lw文档+部署
  19. 初始化msys2环境
  20. 计数器的设计--电子技术课程设计说明书--模99

热门文章

  1. c构造函数和析构函数_C ++构造函数和析构函数| 查找输出程序| 套装3
  2. 如果不这样用,Nacos也有安全问题!
  3. C#利用反射将Datatable转化为指定实体类ListT
  4. c语言链表贪吃蛇教程,编《贪吃蛇》最简单的算法,链表法
  5. php 上次登陆时间,php使用cookie显示用户上次访问网站日期的方法
  6. 惠普10代的服务器有哪些型号,英特尔官方科普:秒懂十代酷睿型号怎么认!
  7. 糖豆人显示此服务器正在进行游戏,糖豆人服务器频繁崩溃,west滚石教技巧,蓝哥踢球做内鬼...
  8. 编译原理语法分析_斯坦福大学《编译原理》学习记录 - 第二章:语法分析器
  9. Outlook2016未读邮件怎么设置字体颜色
  10. win7进入主板bios设置的方法