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由开发人员开发控制

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

posted @ 2023-02-25 10:18  CodeWhisperer001  阅读(27)  评论(0编辑  收藏  举报