mybatis是orm框架吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis是orm框架吗相关的知识,希望对你有一定的参考价值。
参考技术A 不算是,与其他比较标准的ORM框架(比如Hibernate)不同,mybatis并没有将java对象与数据库关联起来,而是将java方法与sql语句关联起来,mybatis允许用户充分利用数据库的各种功能,例如存储、视图、各种复杂的查询以及某些数据库的专有特性。学习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框架(半自动ORM框架)-- 01: 分析实现Mybatis的三个阶段
SpringBoot整合ORM开发框架MyBatis和JPA