目录

❀ 总结 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)   对象映射关系

2、MyBatis基本使用:

3、日志框架使用:

4、了解myBatis的生命周期并抽取工具类MyBatisUtil

5、MyBatis基础拓展(别名、属性、结果集映射、Mapper接口、多参数处理、myBatis插件)

6、注解开发

7、动态SQL

8、对象关联的查询【额外的SQL、 内联映射】和懒加载(在全局配置进行设置)

9、缓存机制(一级缓存、二级缓存、第三方缓存技术redis、ehcache)

10、代码生成器MyBatis Generator (MBG)

11、MyBatis 分页插件-PageHelper


❀ 总结 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,需要掌握的基础的更多相关文章

  1. MyBatis:学习笔记(1)——基础知识

    MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...

  2. Mybatis动态SQL单一基础类型参数用if标签

    Mybatis动态SQL单一基础类型参数用if标签时,test中应该用 _parameter,如: 1 2 3 4 5 6 <select id="selectByName" ...

  3. MyBatis 框架系列之基础初识

    MyBatis 框架系列之基础初识 1.什么是 MyBatis MyBatis 本是 apache 的一个开源项目 iBatis,后改名为 MyBatis,它 是一个优秀的持久层框架,对 jdbc 的 ...

  4. mybatis学习笔记之基础复习(3)

    mybatis学习笔记之基础复习(3) mybatis是什么? mybatis是一个持久层框架,mybatis是一个不完全的ORM框架.sql语句需要程序员自己编写, 但是mybatis也是有映射(输 ...

  5. mybatis学习笔记之基础框架(2)

    mybatis学习笔记之基础框架(2) mybatis是一个持久层的框架,是apache下的顶级项目. mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成满足s ...

  6. spring+springMVC+mybatis的框架项目基础环境搭建

    上一个项目在后台用到spring+springMVC+mybatis的框架,先新项目初步需求也已经下来,不出意外的话,应该也是用这个框架组合. 虽然在之前activiti相关的学习中所用到的框架也是这 ...

  7. Mybatis入门篇之基础CRUD

    前言 作为一个资深后端码农天天都要和数据库打交道,最早使用的是 Hiberate,一个封装性极强的持久性框架.自从接触到 Mybatis 就被它的灵活性所折服了,可以自己写 SQL,虽然轻量级,但是麻 ...

  8. 精尽 MyBatis 源码分析 - 基础支持层

    该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...

  9. MyBatis学习笔记(1) —— 基础知识

    mybatis 是支持普通SQL查询,存储过程和高级映射的优秀持久层框架,mybatis 清除了几乎所有的jdbc代码和参数的手工设置及对结果集的检索封装.mybatis可以使用简单的xml和注解用于 ...

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

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

随机推荐

  1. 安装Apache-storm-0.9.1-incubating图解教程

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6596214331988247054/ 安装步骤 (1) 安装Zookeeper集群,可以参考前一篇文章,本文已安装 ...

  2. C++高并发场景下读多写少的解决方案

    C++高并发场景下读多写少的解决方案 概述 一谈到高并发的解决方案,往往能想到模块水平拆分.数据库读写分离.分库分表,加缓存.加mq等,这些都是从系统架构上解决.单模块作为系统的组成单元,其性能好坏也 ...

  3. 老旧业务重构案例——IM系统如何设计

    一年半之前刚来到这个团队,便遭遇了一次挑战: 当时有个CRM系统,老是出问题,之前大的优化进行了4次小的优化进行了10多次,要么BUG重复出现,要么性能十分拉胯,总之体验是否糟糕!技术团队因此受到了诸 ...

  4. 一篇文章带你搞懂DEX文件的结构

    *本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 DEX文件就是Android Dalvik虚拟机运行的程序,关于DEX文件的结构的重要性我就不多说了.下面,开练! 建议:不要只看 ...

  5. 《剑指offer》面试题57 - II. 和为s的连续正数序列

    问题描述 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数). 序列内的数字由小到大排列,不同序列按照首个数字从小到大排列. 示例 1: 输入:target ...

  6. rocketmq实现延迟队列(精确到秒级)

    最近项目里需要在延时队列,但是开源版本rocketmq不支持任意时间延时,造成有些任务无法执行 参考了网上的不少文章,但是都么有实现,所以再开源的基础上改造了个支持任意时间延时的队列. 源码地址: h ...

  7. nRF24L01无线模块笔记

    nRF24L01模块 官网链接: https://www.nordicsemi.com/Products/nRF24-series 常见的无线收发模块, 工作在2.4GHz频段, 适合近距离遥控和数据 ...

  8. Python中的路径

    转义 windows路径使用的是\,linux路径使用的是/. 特别的,在windows系统中如果有这样的一个路径 D:\nxxx\txxx\x1,程序会报错.因为在路径中存在特殊符 \n(换行符)和 ...

  9. openSUSE修改grub来修复对win8的引导

    前言:继上一次安装试用各版本linux发行版后,由于做项目将机器纯windows了一把,现在又想安回centos,各种挫折折腾两天玩残一个u盘日,其中包括自己本本的原装系统也崩了,各种泪奔,下面记录一 ...

  10. 云图说|DDS读写两步走,带您领略只读节点的风采

    摘要:为了扩展主节点的读请求能力,DDS提供具备独立连接地址的只读节点,适合独立系统直连访问,以缓解大量读请求给主节点造成的压力. 本文分享自华为云社区<[云图说]第235期 DDS读写两步走 ...