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四大特性。其中,原子性、隔离性、持久性是因 ,一致性是果。

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

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

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

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

相关推荐
承渊政道4 分钟前
【Python编程—从入门到实践】(让程序记得、恢复并解释失败:Python 文件、异常与JSON系统教程)
开发语言·python·pycharm·json·异常处理
秋饼8 分钟前
Claude Haiku 5.5 + Spring AI 2.0 企业级低成本高并发 AI Agent 实战:子智能体分工、成本熔断与百万上下文落地
java·ai·技术分享·后端开发
一水鉴天17 分钟前
声调韵的序:从古汉语音韵到系统科学语言的场效应推演 20261013(千问)
开发语言·人工智能
郭庆汝18 分钟前
(六)MCP+A2A之——Playwright与BrowserUse:让AI学会像人类一样使用浏览器
开发语言·python
xuxigifxfh22 分钟前
牛客:BISHI8 大整数哈希
java·算法·哈希算法
for_ever_love__23 分钟前
MySQL 优化器与 OPTIMIZER_TRACE:把‘为什么选这条计划‘问到水落石出
数据库·mysql·优化器·trace·optimizer·执行计划分析·cic
涉密IT资质笔记25 分钟前
涉密资质投入产出分析模型:时间成本、四块成本构成与 ROI 决策框架
java·开发语言·算法
木井巳28 分钟前
【BFS 解决拓扑排序】火星词典
java·算法·leetcode·广度优先·宽度优先·图搜索算法
霸道流氓气质28 分钟前
Java调用StableDiffusion/ComfyUI图像生成:DAG工作流编排、WebSocket实时进度与Flux模型集成的生产级实战
java·websocket·stable diffusion
北风toto38 分钟前
KMP 算法详解:从暴力匹配到 O(n+m) 的字符串搜索
java·开发语言·算法