学习MyBatis必知必会~准备工作:了解框架三层架构ORM思想

Posted 一乐乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习MyBatis必知必会~准备工作:了解框架三层架构ORM思想相关的知识,希望对你有一定的参考价值。


一、框架:

1、框架,什么是框架,为什么要使用框架?

■ 框架:是一些列jar包,本质是对jdk功能的扩展。

框架是一组程序的集合,包含一系列的最佳实践,作用是为了解决某个领域的问题。


  • 回顾一下java程序的运行机制:java文件(源文件) ---[编译]--》 字节码文件(class文件) ---[运行]--》 jvm
  • jar包:多份java字节码文件(class文件-运行要用到的文件)---[压缩打包]--》jar(java归档文件,类似于rar)
■ 使用框架第一步:拷贝jar包.



二、三层架构:

(图片来源叩丁狼)



三、对象映射关系 ORM(Object Relational Mapping)

---为了解决面向对象与关系数据库存在的互相不匹配的问题。 [主要是:对象的属性名和表的列名不匹配的问题]


1、回顾之前jdbc封装的dao层的模板类jdbcTemplate:

//增删改操作模板: public static update(String sql, Object...params)
//查询操作模板:public static <T> T query(String sql, IResultSetHandler rsh, Object...params)

//---------------------------------------------------------------------------------------------
//还封装了BeanHandler、BeanListHandler
  BeanHandler 处理结果类[结果集只有一行数据,把一行结果集数据封装成一个对象]
  BeanListHandler 处理结果类[结果集有多行数据,把每一行结果集数据封装成一个对象,存储到List集合中]   
  • 使用BeanHandler和BeanListHandler要注意,对象的属性名和表中的列名需要相同,不同报错。

■ jdbc--->jdbc模板(通用结果集处理器[需要保证类的属性名和表名相同])----》ORM框架(MyBatis框架)



2、ORM思想:

面向对象概念----(映射配置)-----面向关系概念

​ 类 ----------------------------------------------表

对象----------------------------------------表的行(记录)

属性---------------------------------------表的列(字段)



3、Mapping:使用注解/xml:

❀ 属性名和列名是不同的,将两者对应起来需要使用还能某种规则【注解/xml

  • 使用xml:

(图片来源叩丁狼)



4、ORM 框架:

遵循ORM思想实现的技术,解决持久层问题[和数据库连接,进行CRUD]。

(图片来源叩丁狼)


✿ 一个设计良好的持久层,应该保证:当持久层的实现技术发生改变时,不会影响到上一层层的代码(service层)。



■ 常见 ORM 框架:

  • JPA:本身是一种 ORM 规范,不是 ORM 框架。由各大 ORM 框架提供实现。
  • Hibernate:以前最流行的 ORM 框架。设计灵巧,性能优秀,文档丰富。
  • MyBatis: 目前最受欢迎的持久层解决方案。

以上是关于学习MyBatis必知必会~准备工作:了解框架三层架构ORM思想的主要内容,如果未能解决你的问题,请参考以下文章

学习MyBatis必知必会~注解开发动态SQL

《MySQL必知必会学习笔记》:子查询

《MySQL必知必会学习笔记》:子查询

学习MyBatis必知必会~ OGNL 表达式和EL 表达式

学习SpringMVC必知必会~springmvc的数据校验表单标签文件上传和下载

大数据必知必会系列——数仓分层架构及三层架构流程[新星计划]