首页 > 其他分享 >MyBatis 优秀的轻量级持久层框架从入门到应用实战

MyBatis 优秀的轻量级持久层框架从入门到应用实战

时间:2023-02-25 10:22:05浏览次数:39  
标签:缓存 持久 入门 框架 映射 SQL MyBatis 轻量级

课程简介和目标

学习过JDBC的同学都会有所感受,原生JDBC技术实现对持久层数据操作有着诸多问题.

1 编码繁琐,步骤多

2 手动处理结果集和实体类映射关系比较麻烦,尤其是多表查询

3 没有较好的性能优化手段. 如连接池,缓存,延迟加载等等

4 没有现成的增删改查方法的封装,需要我们自己借助反射和反省等进行封装

5 SQL语句以字符串形式存在于JAVA代码之中, SQL语句和JAVA代码的耦合度太高

6 手动控制事务处理,容易出错

7 操作不同的关系型数据库编码有差异,需要比较细致的修改

... ...

综上所述,JDBC我们认为它仅仅是一种比较基础和原始的技术,在实际开发中我们基本不会直接使用.只能作为我们开发的基础知识来学习,那么实际开发中用什么? 就是比较好的持久层框架. 目前市场上应用最多的,就是MyBatis框架.MyBatis 是一款优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 不足。 体现但不限于如下方面

1 编码简单,步骤少,项目一旦大家完毕,编码非常简单

2 可以使用简单的 XML 或注解来配置和映射原生信息,不必手动处理结果集映射关系

3 配合连接池和缓存技术,再加上延迟加载,性能优异

4 SQL语句以配置文件形式定义,解除了和JAVA代码的耦合

5 事务控制可以手动, 也可以在SSM整合时,交给Spring进行控制

6 操作不同的关系型数据库,JAVA编码基本无需调整

7 轻量级半自动映射数据库框架,系统资源消耗相对低

8 可以与优秀的连接池,spring进行便捷整合

9 后期可以拓展MyBatisPlus,甚至可以在业务层提供了基本CURD的功能封装

10 动态SQL

... ...

简单的说: MyBatis非常优秀,实际开发中一定会应用到的持久层框架技术,必须好好学习

目标:

1 认识持久层框架和ORM,MyBatis项目搭建

2 熟悉MyBatis开发流程和配置文件的编写

3 能够在MyBatis代理模式下开发持久层代码

4 熟练掌握动态SQL和MyBatis多表关联查询

5 掌握MyBatis注解,缓存,延迟加载等相关技术

基于XML和实体映射数据

 

MyBatis框架架构

 

MyBatis 代理模式

 

 

课程大纲

  • 第一章 MyBatis初识和项目搭建

    • 认识框架,ORM和MyBatis简介
    • MyBatis项目创建导入相关依赖
    • MyBatis执行流程和配置文件开发
  • 第二章 MyBatis配置详解

    • 关于日志的使用
    • 事务相关配置
    • mapper.xml的加载方式
    • 实体类别名处理
    • 外部属性配置文件存储链接数据库四要素
  • 第三章 了解MyBatis在传统DAO模式下的开开发

    • SqlSession封装的三个查询方法
    • SQL参数的传递方式
    • SqlSession实现CURD的API
  • 第四章 熟练掌握MyBatis代理模式下的开发

    • Mapper代理模式开发流程
    • 代理模式下参数传递问题
    • 模糊查询和主键自增回填
    • 代理模式下实现所有DML操作
  • 第五章 熟练掌握动态SQL

    • 动态SQL中if和where的使用
    • 动态SQL中choose set 和trim的使用
    • 动态SQL bind sql foreach的使用
  • 第六章 MyBatis多表关联查询

    • 自动和手动处理映射关系
    • 一对一,一对多,多对多映射关系配置
    • 级联查询和SQL语句间调用
    • 立即加载和延迟加载
  • 第七章 缓存和逆向工程

    • 一级缓存
    • 二级缓存
    • 三方缓存
    • 逆向工程

 

MyBatis执行流程

 

MyBatis半自动持久层框架

 

 

SQL与代码分离,SQL由开发人员开发控制

**基于注解方式的开发 **

标签:缓存,持久,入门,框架,映射,SQL,MyBatis,轻量级
From: https://www.cnblogs.com/2324hh/p/17153879.html

相关文章

  • 【LGR-(-17)】洛谷入门赛 #8 个人赛后总结
    【LGR-(-17)】洛谷入门赛#8个人赛后总结前言这是本蒟蒻的第一篇博客,也是对第一次参加洛谷比赛的总结,如果有错误请指出。引子本蒟蒻第一次看到比赛时就迫不及待的报了......
  • MybatisGenerator
    1.pom.xml<dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.5</version></dependency><......
  • 【新手入门】JDBC+Servlet+jsp【新闻系统的增删改查】:持续学习,持续优化,争取做一个真正
    新闻的增删改查  学习了一些博客知识【结尾会贴上,大家可以参考】在借鉴的基础上又进行了代码的优化,从而实现了CRUD,下面分享我的代码过程:包结构,是为了方便管理,所以我......
  • 【数据结构入门】顺序表(SeqList)详解(初始化、增、删、查、改)
    顺序表我们采用将函数声明放到SeqList.h里面,函数的实现放到SeqList.c里面,test.c调用函数实现。线性表线性表(linearlist)是n个具有相同特性的数据元素的有限序列。线性表是......
  • JAVA保姆式上手教程之入门精通案例
    事务课程目标1、什么是事务2、jdbc如何控制事务3、设置事务的回滚点4、事务的特性ACID5、数据库事务的隔高级别事务理解什么是事务:指逻辑上一组操作,要么同时成功......
  • Mybatis框架了解
    一、Mybatis思路:搭建框架--导入Mybatis--编写代码--测试1、搭建环境搭建数据库创建一个父项目导包,导maven依赖<!-- mysql驱动依赖-->  <dependencie......
  • SpringBoot入门
    SpringBoot提供2Controller与@RestController两者分别用于标记此类负责接收及处理HTTP请求路径映射:@RequestMapping的value属性用于匹配URL映射,value支持简单表达式@Re......
  • mybatis 完成树级结构,通过循环添加collection循环添加子集
    有拿到一个树级结构的需求,有子集的状态下,就往下无限添加层级然后一起返回,直接用myabtis的resultMap处理会简单很多,就比方说下面这个结构@DatapublicclassZzztKhpfVo{......
  • drf入门规范
    1restful规范概念REST全称是RepresentationalStateTransfer,中文意思是表述:表征性状态转移,它首次出现在2000年RoyFielding的博士论文中。RESTful是一种定义WebAPI接......
  • Ansible-playbook 快速入门到放弃
    Ansible-playbook快速入门到放弃隔岸红尘忙似火,当轩青嶂冷如冰。1-简介playbook相当于可以把模块命令都写入到配置文件里面,这样就可以直接执行配置文件了,类似......