Java面经之MySQL

[1]. Hibernate和MyBatis的区别?

Hibernate是一种全自动的对象关系映射(ORM)框架,可以通过操作Java对象来间接操作数据库,适合需求明确、业务固定的项目。

MyBatis是一种半自动化的持久层框架,可以通过XML文件或注解直接编写SQL语句,适合需求多变的互联网项目。

[2]. MySQL和Redis的区别?

MySQL是关系型 数据库,以表格的形式将数据存储在硬盘中,读取速度慢。Redis是非关系型数据库,以键值对的形式将数据存储在内存中,读取速度快。

MySQL支持分布式事务,可以保证数据的一致性,而Redis是单节点的,不支持分布式事务,在并发访问时可能会出现数据不一致的情况。

MySQL适用 于大规模数据存储和复杂查询等场景,Redis适用于高并发读写、数据缓存和实时计算等高性能场景。

[3]. MySQL表和视图的区别?

表是存储数据的实体 ,具有完整的结构和功能,可以进行插入更新删除 操作,而视图 基于表的查询结果,提供了一种逻辑上的访问方式,是一个虚拟表 ,不存储实际数据,只能进行查询操作。

[4]. MySQL事务的四大特性?

MySQL事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),即ACID四大特性。其中,原子性、隔离性、持久性是 ,一致性是

原子性指的是事务中的所有操作要么全部执行成功并且对数据库产生了影响,要么全部失败回滚,并且对数据库没有任何影响。

一致性是指事务执行过程中涉及的操作结果必须满足数据库的约束和规则,保证数据库的完整性没有被破坏。

隔离性是指在并发场景中,事务之间是相互隔离、互相独立的,一个事务的执行不受其他事务的影响。

持久性是指一个事务一旦被提交,在数据库中的改变就是永久的,即使系统崩溃,这些改变也不会丢失。

相关推荐
skywalk816311 分钟前
Trae生成的中文编程语言关键字(如“定“、“函“、“印“等)需要和标识符之间用 空格 隔开,以确保正确识别
服务器·开发语言·编程
神所夸赞的夏天17 分钟前
如何获取多层json数据,存成dictionary,并取最大最小值
java·前端·json
红色的小鳄鱼17 分钟前
前端面试js手写
开发语言·前端·javascript
9号达人18 分钟前
为什么你应该在 MQ 里用多个消费者,而不是一个
java·后端·架构
焦糖玛奇朵婷21 分钟前
健身房预约小程序开发、设计
java·大数据·服务器·前端·小程序
海盗123425 分钟前
C#中的IEqualityComparer<T>使用
开发语言·c#
小新同学^O^28 分钟前
简单学习 --> TCP协议
java·网络·tcp
江公望34 分钟前
Qt QSharedPointer用法,10分钟讲清楚
开发语言·qt
月落归舟41 分钟前
深入理解Java适配器模式,彻底搞懂设计思想
java·开发语言·适配器模式
Mr_pyx41 分钟前
【LeetHOT100】二叉树的中序遍历——Java多解法详解
java·开发语言·深度优先