关于mybatis,需要掌握的基础
目录
4、了解mybatis生命周期并抽取工具类MyBatisUtil、 MyBatisUtil工具类的作用
5、MyBatis基础拓展(别名、属性、结果集映射、Mapper接口、多参数处理、myBatis插件)
9、缓存机制(一级缓存、二级缓存、第三方缓存技术redis、ehcache)
10、代码生成器MyBatis Generator (MBG)、MBG的作用
1、了解ORM 思想 (Object Relational Mapping) 对象映射关系
4、了解myBatis的生命周期并抽取工具类MyBatisUtil
5、MyBatis基础拓展(别名、属性、结果集映射、Mapper接口、多参数处理、myBatis插件)
8、对象关联的查询【额外的SQL、 内联映射】和懒加载(在全局配置进行设置)
9、缓存机制(一级缓存、二级缓存、第三方缓存技术redis、ehcache)
10、代码生成器MyBatis Generator (MBG)
❀ 总结 mybatis,需要掌握的基础如下:
1、了解ORM 思想、ORM思想的作用、映射配置的两种方式
2、MyBatis开发流程(基本使用)
3、日志框架
4、了解mybatis生命周期并抽取工具类MyBatisUtil、 MyBatisUtil工具类的作用
5、MyBatis基础拓展(别名、属性、结果集映射、Mapper接口、多参数处理、myBatis插件)
6、注解开发
7、动态SQL
8、对象关联的查询【额外的SQL、 内联映射】和懒加载
9、缓存机制(一级缓存、二级缓存、第三方缓存技术redis、ehcache)
10、代码生成器MyBatis Generator (MBG)、MBG的作用
11、MyBatis 分页插件-PageHelper
❀ 关于mybatis,需要掌握的基础的详情如下:
1、了解ORM 思想 (Object Relational Mapping) 对象映射关系
----为了解决面向对象与关系数据库存在的互相不匹配的问题。 [主要是:对象的属性名和表的列名不匹配的问题]
■ ORM思想:
面向对象概念----(映射配置)-----面向关系概念
类 ---------------------------------表
对象------------------------------表的行(记录)
属性------------------------------表的列(字段)
✿映射配置Mapping:使用注解/xml
2、MyBatis基本使用:
-----开发流程-拷贝jar包,编写配置文件,然后进行测试
✿ MyBatis全局配置文件内容:
① 属性配置信息
② 全局配置信息(日志信息、)
③ 类型别名
④ 插件配置信息
⑤ 配置环境信息【事务+连接池】
⑥ 关联映射文件
✿ MyBatis 映射文件内容:
① 编写增删改查sql,把sql存放到insert| update| delete| select 元素中去
② 结果集映射:解决表中的列和对象属性不匹配问题
③ 缓存配置
■ 测试myBatis执行增删改查操作:
① 加载配置文件
② 创建会话工厂对象SqlSessionFactory【好比连接池DataSource】
③建会话对象SqlSession【好比连接对象Connection】
④ 执行crud操作
⑤ 关闭资源
3、日志框架使用:
-----开发流程-拷贝jar包,编写日志配置文件,然后在mybatis的全局配置中设置日志信息
4、了解myBatis的生命周期并抽取工具类MyBatisUtil
-----抽取MyBatisUtil工具类[作用:是用来创建会话对象Sqlsession]
■ 通过factory.openSession() 创建会话对象,默认是不提交事务的方式,可以手动提交
5、MyBatis基础拓展(别名、属性、结果集映射、Mapper接口、多参数处理、myBatis插件)
■ 别名:在全局配置文件中,配置自定义别名
■ 属性:properties 属性配置 [动态引入]
■ 结果集映射:[ 解决表的列名和对象的属性名不匹配的问题 ]
■ Mapper 接口:相当DAO 层
■ 多参数处理:使用注解@Param实现处理多个参数
---myBatis默认情况下只能处理一个参数,解决查询多个参数的方法
■ myBatis插件:作用是编写配置文件有代码提示作用
6、注解开发
7、动态SQL
- if
- choose (when, otherwise)
- trim (where, set)
- foreach
- 其他(bind,sql,include)
8、对象关联的查询【额外的SQL、 内联映射】和懒加载(在全局配置进行设置)
■ 总结:多对一、一对多关系的单属性对象/集合属性对象,使用association或collection元素?使用额外SQL或内联查询?
● 单属性对象(assoication元素),多表查询操作会选择内联查询
● 集合属性对象(collection元素),懒加载会选择额外SQL处理
✿ 额外的SQL:会导致N+1 问题
□ 额外的SQL[分步查询],一般需要进入另外一个页面展示更加详细的信息(懒加载)。
□ 内联映射[多表查询],需要在列表中显示关联对象的数据,使用内联映射,否则会出现N+1问题。
9、缓存机制(一级缓存、二级缓存、第三方缓存技术redis、ehcache)
10、代码生成器MyBatis Generator (MBG)
-----MBG [作用:可以根据表生成对应的模型对象、Mapper接口、Mapper文件,甚至生成 QBC 风格查询对象。]
11、MyBatis 分页插件-PageHelper
关于mybatis,需要掌握的基础的更多相关文章
- MyBatis:学习笔记(1)——基础知识
MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...
- Mybatis动态SQL单一基础类型参数用if标签
Mybatis动态SQL单一基础类型参数用if标签时,test中应该用 _parameter,如: 1 2 3 4 5 6 <select id="selectByName" ...
- MyBatis 框架系列之基础初识
MyBatis 框架系列之基础初识 1.什么是 MyBatis MyBatis 本是 apache 的一个开源项目 iBatis,后改名为 MyBatis,它 是一个优秀的持久层框架,对 jdbc 的 ...
- mybatis学习笔记之基础复习(3)
mybatis学习笔记之基础复习(3) mybatis是什么? mybatis是一个持久层框架,mybatis是一个不完全的ORM框架.sql语句需要程序员自己编写, 但是mybatis也是有映射(输 ...
- mybatis学习笔记之基础框架(2)
mybatis学习笔记之基础框架(2) mybatis是一个持久层的框架,是apache下的顶级项目. mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成满足s ...
- spring+springMVC+mybatis的框架项目基础环境搭建
上一个项目在后台用到spring+springMVC+mybatis的框架,先新项目初步需求也已经下来,不出意外的话,应该也是用这个框架组合. 虽然在之前activiti相关的学习中所用到的框架也是这 ...
- Mybatis入门篇之基础CRUD
前言 作为一个资深后端码农天天都要和数据库打交道,最早使用的是 Hiberate,一个封装性极强的持久性框架.自从接触到 Mybatis 就被它的灵活性所折服了,可以自己写 SQL,虽然轻量级,但是麻 ...
- 精尽 MyBatis 源码分析 - 基础支持层
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...
- MyBatis学习笔记(1) —— 基础知识
mybatis 是支持普通SQL查询,存储过程和高级映射的优秀持久层框架,mybatis 清除了几乎所有的jdbc代码和参数的手工设置及对结果集的检索封装.mybatis可以使用简单的xml和注解用于 ...
- MyBatis 框架系列之基础初始
1.什么是 MyBatis MyBatis 本是 apache 的一个开源项目 iBatis,后改名为 MyBatis,它 是一个优秀的持久层框架,对 jdbc 的操作数据库的过程进行封装,使开发者只 ...
随机推荐
- Go语言系列之反射
变量的内在机制 Go语言中的变量是分为两部分的: 类型信息:预先定义好的元信息. 值信息:程序运行过程中可动态变化的. 反射介绍 反射是指在程序运行期对程序本身进行访问和修改的能力.程序在编译时,变量 ...
- 【记录一个问题】铁威马NAS存储中的人人影视APP,其WEB服务占满一个CPU核
终端登录后,top命令发现rrshareweb这个进程把单个CPU核占满了. 发现其实是人人影视的web服务,而这个服务里面我还根本未使用. 卸载这个app后正常.
- thrift基础知识
1. 架构图 Thrift 包含一个完整的堆栈结构用于构建客户端和服务器端.下图描绘了 Thrift 的整体架构. 图 1. 架构图 如图所示,图中黄色部分是用户实现的业务逻辑,褐色部分是根据 Thr ...
- 全网最全的Java SpringBoot点赞功能实现
前言 最近公司在做一个NFT商城的项目,大致就是一个只买卖数字产品的平台,项目中有个需求是用户可以给商品点赞,还需要获取商品的点赞总数,类似下图 起初感觉这功能很好实现,无非就是加个点赞表嘛,后来发现 ...
- [转载]Python 资源大全中文版
[转载]Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python ...
- 使用kubeadm搭建k8s集群
1.初始化集群信息 这里我才用了两台虚拟机来搭建集群,一个master,一个node 角色 IP地址 组件 master 192.168.126.137 docker, kubectl, kubead ...
- ps -ef aux区别
第一点 -ef是System V展示风格,而aux是BSD风格. BSD风格 字段含义: USER:用户名称 PID:进程号 %CPU:进程占用CPU的百分比 %MEM:进程占用物理内 ...
- mysql加强(3)~分组(统计)查询
一.分组(统计) 查询 1.语法 : select [distinct] *| 分组字段1[别名] [,分组字段2[别名],...] | 统计函数 from 表名 [别名] [where 条件(s)] ...
- linux挂载windows nfs
1.win下创建nfs文件夹并共享 2.登陆linux,执行 yum 3.创建挂载点 4.挂载win nfs 5./etc/fstab添加永久挂载 6.查看挂载磁盘,此时windows盘已落在linu ...
- postgresql dba常用sql查询语句
查看帮助命令 DB=# help --总的帮助 DB=# \h --SQL commands级的帮助 DB=# \? --psql commands级的帮助 \dn[S+] [PATTERN],其中[ ...