学习MyBatis必知必会(1)~准备工作:了解框架、三层架构、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: 目前最受欢迎的持久层解决方案。
本文来自博客园,作者:一乐乐,转载请注明原文链接:https://www.cnblogs.com/shan333/p/15855815.html