Mybatis源码分析第一天------Mybatis实用篇
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实用篇相关推荐
- MyBatis源码分析-IDEA新建MyBatis源码工程
MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简 ...
- 【mybatis源码分析(四)】mybatis事务实现原理
Mybatis管理事务分为三种方式: mybatis的Transaction接口 JdbcTransaction:使用JDBC的事务管理机制,利用java.sql.Connection对象完成事务的提 ...
- springboot集成mybatis源码分析(一)
springboot集成mybatis源码分析(一) 本篇文章只是简单接受使用,具体源码解析请看后续文章 1.新建springboot项目,并导入mybatis的pom配置 配置数据库驱动和mybat ...
- MyBatis 源码分析 - 缓存原理
1.简介 在 Web 应用中,缓存是必不可少的组件.通常我们都会用 Redis 或 memcached 等缓存中间件,拦截大量奔向数据库的请求,减轻数据库压力.作为一个重要的组件,MyBatis 自然 ...
- MyBatis 源码分析 - 内置数据源
1.简介 本篇文章将向大家介绍 MyBatis 内置数据源的实现逻辑.搞懂这些数据源的实现,可使大家对数据源有更深入的认识.同时在配置这些数据源时,也会更清楚每种属性的意义和用途.因此,如果大家想知其 ...
- MyBatis 源码分析 - SQL 的执行过程
本文速览 本篇文章较为详细的介绍了 MyBatis 执行 SQL 的过程.该过程本身比较复杂,牵涉到的技术点比较多.包括但不限于 Mapper 接口代理类的生成.接口方法的解析.SQL 语句的解析.运 ...
- MyBatis 源码分析 - 映射文件解析过程
1.简介 在上一篇文章中,我详细分析了 MyBatis 配置文件的解析过程.由于上一篇文章的篇幅比较大,加之映射文件解析过程也比较复杂的原因.所以我将映射文件解析过程的分析内容从上一篇文章中抽取出来, ...
- MyBatis 源码分析系列文章导读
1.本文速览 本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章.本篇文章从 MyBatis 是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说 ...
- MyBatis 源码分析系列文章导读 1
1.本文速览 本篇文章是我为接下来的 MyBatis 源码分析系列文章写的一个导读文章.本篇文章从 MyBatis 是什么(what),为什么要使用(why),以及如何使用(how)等三个角度进行了说 ...
最新文章
- 【错误记录】Ubuntu 修改 hosts 文件 ( 使用 gedit /etc/hosts 命令打开并修改 hosts 文件 )
- How Many Tables
- VTK:可视化算法之CarotidFlow
- java 三维数组长方体求体积_已知任意一个四面体的六条棱长,如何求出其体积?...
- VS 2005 WEB PROJECT包括Crystal Report水晶报表的发布
- vs 2019 aspx灰色_蛇纹当道,豹纹在侧:穿成动物园是2019时尚大势?
- 软件生存周期文档系列 之 6.用户操作手册
- python两数相加有进退位_Leetcode_两数相加_python
- Django实战(21):使用内置的Amin管理用户
- 呼叫中心系统源码_RC09(支持二次开发)CC呼叫中心系统 源码
- 【毕设】selenium 爬取知网作者信息
- SaleSmartly注册登录教程
- 电动汽车的数据记录 BMS
- 杨强教授漫谈《西部世界》、生成式对抗网络及迁移学习
- 2021年山东省安全员C证新版试题及山东省安全员C证免费试题
- Caffe Scale层
- CCI金融技术指标的算法
- java计算机毕业设计中医药科普网站源码+mysql数据库+系统+lw文档+部署
- 初始化msys2环境
- 计数器的设计--电子技术课程设计说明书--模99
热门文章
- c构造函数和析构函数_C ++构造函数和析构函数| 查找输出程序| 套装3
- 如果不这样用,Nacos也有安全问题!
- C#利用反射将Datatable转化为指定实体类ListT
- c语言链表贪吃蛇教程,编《贪吃蛇》最简单的算法,链表法
- php 上次登陆时间,php使用cookie显示用户上次访问网站日期的方法
- 惠普10代的服务器有哪些型号,英特尔官方科普:秒懂十代酷睿型号怎么认!
- 糖豆人显示此服务器正在进行游戏,糖豆人服务器频繁崩溃,west滚石教技巧,蓝哥踢球做内鬼...
- 编译原理语法分析_斯坦福大学《编译原理》学习记录 - 第二章:语法分析器
- Outlook2016未读邮件怎么设置字体颜色
- win7进入主板bios设置的方法