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

简介: 学习MyBatis必知必会(1)~准备工作:了解框架、三层架构、ORM思想

一、框架:

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

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

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


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


二、三层架构:

(图片来源叩丁狼)


53.png


三、对象映射关系 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:

(图片来源叩丁狼)


54.png


4、ORM 框架:

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

(图片来源叩丁狼)


55.png


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



■ 常见 ORM 框架:

  • JPA:本身是一种 ORM 规范,不是 ORM 框架。由各大 ORM 框架提供实现。
  • Hibernate:以前最流行的 ORM 框架。设计灵巧,性能优秀,文档丰富。
  • MyBatis: 目前最受欢迎的持久层解决方案。
目录
相关文章
|
13天前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
43 0
|
9天前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
14 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
13天前
|
JSON 前端开发 Java
Spring Boot框架中的响应与分层解耦架构
在Spring Boot框架中,响应与分层解耦架构是两个核心概念,它们共同促进了应用程序的高效性、可维护性和可扩展性。
38 3
|
1月前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
58 18
|
1月前
|
Java 关系型数据库 数据库连接
mybatis-plus学习
MyBatis-Plus ,MyBatis 最佳搭档,只做增强不做改变,为简化开发、提高效率而生。
40 5
|
1月前
|
机器学习/深度学习
ACM MM24:复旦提出首个基于扩散模型的视频非限制性对抗攻击框架,主流CNN和ViT架构都防不住它
【9月更文挑战第23天】复旦大学研究团队提出了ReToMe-VA,一种基于扩散模型的视频非限制性对抗攻击框架,通过时间步长对抗性潜在优化(TALO)与递归令牌合并(ReToMe)策略,实现了高转移性且难以察觉的对抗性视频生成。TALO优化去噪步骤扰动,提升空间难以察觉性及计算效率;ReToMe则确保时间一致性,增强帧间交互。实验表明,ReToMe-VA在攻击转移性上超越现有方法,但面临计算成本高、实时应用受限及隐私安全等挑战。[论文链接](http://arxiv.org/abs/2408.05479)
55 3
|
1月前
|
Kubernetes Java Android开发
用 Quarkus 框架优化 Java 微服务架构的设计与实现
Quarkus 是专为 GraalVM 和 OpenJDK HotSpot 设计的 Kubernetes Native Java 框架,提供快速启动、低内存占用及高效开发体验,显著优化了 Java 在微服务架构中的表现。它采用提前编译和懒加载技术实现毫秒级启动,通过优化类加载机制降低内存消耗,并支持多种技术和框架集成,如 Kubernetes、Docker 及 Eclipse MicroProfile,助力开发者轻松构建强大微服务应用。例如,在电商场景中,可利用 Quarkus 快速搭建商品管理和订单管理等微服务,提升系统响应速度与稳定性。
44 5
|
14天前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
35 0
|
10天前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
36 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
10天前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
22 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块