2021年java面试题.pdf
Java 面试题知识点总结 Java 是一门广泛应用于互联网开发的编程语言,拥有强大的生态系统和丰富的技术栈。本资源是 Java 面试题大全,涵盖了 Java 及其相关技术栈的方方面面,包括 MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等。 Java 基础知识 Java 是一种面向对象的编程语言,具有跨平台、面向对象、分布式编程等特点。Java 的主要特点包括: * 跨平台:Java 程序可以在任何支持 Java 的平台上运行,而不需要修改代码。 * 面向对象:Java 是一种面向对象的语言,具有封装、继承、多态等特点。 * 分布式编程:Java 支持分布式编程,可以在多台机器上分布式运行程序。 MyBatis 框架 MyBatis 是一个基于 Java 的持久层框架,提供了一个简单的方式来访问数据库。MyBatis 的主要特点包括: * 简单易用:MyBatis 提供了一个简单的 API,易于使用和维护。 * 高性能:MyBatis 使用了延迟加载和缓存机制,提高了应用程序的性能。 * 灵活性:MyBatis 支持多种数据库管理系统,包括 MySQL、Oracle、SQL Server 等。 MyBatis 面试题 1. 什么是 MyBatis? Answer: MyBatis是一个基于 Java 的持久层框架,提供了一个简单的方式来访问数据库。 2. MyBatis 的优点: Answer: MyBatis 的优点包括简单易用、高性能、灵活性等。 3. MyBatis 框架的缺点: Answer: MyBatis 框架的缺点包括不支持级联查询、不支持批量更新等。 4. MyBatis 框架适用场合: Answer: MyBatis 框架适用于需要访问数据库的应用程序,例如 Web 应用程序、移动应用程序等。 5. MyBatis 与 Hibernate 有哪些不同? Answer: MyBatis 和 Hibernate 都是 Java 的 ORM 工具,但是它们有不同的设计理念和实现方式。 6. #{}和${}的区别是什么? Answer: #{}是 MyBatis 的参数符,用于传递参数到 SQL 语句中;${}是 MyBatis 的字符串符,用于插入字符串到 SQL 语句中。 7. 当实体类中的属性名和表中的字段名不一样,怎么办? Answer: 使用 MyBatis 的 ResultMap 来映射实体类和表结构。 8. 模糊查询 like 语句该怎么写? Answer: 使用 MyBatis 的 like 语句,例如“select * from user where name like ‘%${name}%’”。 9. 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么? Answer: Dao 接口的工作原理是使用 MyBatis 的代理机制,将Xml映射文件中的 SQL 语句映射到 Dao 接口中。 10. Mybatis 是如何进行分页的? Answer: MyBatis 提供了分页插件,使用该插件可以实现分页功能。 11. Mybatis 是如何将 sql 执行结果封装为目标对象并返回的? Answer: MyBatis 使用 ResultMap 将 SQL 语句的执行结果映射到目标对象中。 12. 都有哪些映射形式? Answer: MyBatis 提供了多种映射形式,包括 ResultMap、Association、Collection 等。 13. 如何执行批量插入? Answer: 使用 MyBatis 的批量插入机制,例如使用 foreach 语句来执行批量插入。 14. 如何获取自动生成的(主)键值? Answer: 使用 MyBatis 的 useGeneratedKeys 机制来获取自动生成的主键值。 15. 在 mapper 中如何传递多个参数? Answer: 使用 MyBatis 的 Parameter 机制来传递多个参数。 16. Mybatis 动态 sql 有什么用? Answer: MyBatis 的动态 SQL 机制可以根据不同的条件生成不同的 SQL 语句。 17. Xml 映射文件中,除了常见的 select|insert|updae|delete 标签之外,还有哪些标签? Answer: MyBatis 的 Xml 映射文件中还包括 result、parameter、sql、include 等标签。 本资源总结了 Java 面试题的相关知识点,涵盖了 Java 基础知识、MyBatis 框架、MyBatis 面试题等方面的内容,对 Java 开发者和面试官都具有重要的参考价值。
剩余484页未读,继续阅读
- 粉丝: 25
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 西门子s7 200smart与3台英威腾GD变频器通讯实战程序 原创可直接用于生产的程序,程序带注释,并附送触摸屏程序,有接线方式和设置,通讯地址说明等 程序采用轮询,可以后续根据要求适当修
- 标签打印C#控制程序源代码,适合自己进行二次开发 软件可以自己编辑标签,可以自动条形码或二维码的位置
- 松下FP-XHC60T 标准可带18轴中型程序,总共逻辑1万多步,含昆仑通态触摸屏程序(触摸屏附带配方功能,以及产能统计:), 项目功能完整主站与两个从站采用PLC链接通讯,该程序为标准框架,故障,复
- WPF智慧工厂数据平台 1, 提供一个智慧工厂数据平台框架 2,理解wpf的设计模式 3,学习如何绘制各种统计图 4,设计页面板块划分 5,如何在适当时候展现动画 有盆友问,这个是否带数据库
- yolo目标检测数据-抽烟、打电话、打哈欠数据集5665张含yolo标签文件(可用于疲劳检测、司机行为检测).zip
- FLAC3D锚杆辅助生成软件根据CAD图自动打锚杆 使用感受 在CAD画出锚杆,启动软件会生成锚杆命令流,call入flac中即可或者复制到自己命令流中,十分便捷 由于开发成软件,永久使用
- 施耐德ATV71原厂纸质原理图纸 施耐德ATV71变频器原理图纸,可以用来研究变频器电路的结构组成、控制原理,为搞清楚变频电路的控制原理、信号的来龙去脉提供科学依据,更能够做为变频器
- 信捷XC PLC与3台施耐德ATV12变频器通讯程序 信捷XC PLC与3台施耐德ATV12变频器通讯,可靠稳定,同时解决施耐德ATV12变频器断电重启后,自准备工作,无需人为准备 器件:信捷XC3
- 电动自行车方案,资料齐全 成熟电动自行车代码方案,学习好资料 中颖中颖电动自行车代码方案,包含代码,原理图,pcb,说明文档 不论是学习电动车代码还是学习电流环,速度环,Pid调节,都是很好
- 三菱PLC FX5U 伺服机器人程序 包括三菱FX5U程序,威纶通触摸屏程序,IO表,材料清单,eplan和PDF电气图 4轴伺服程序,1个机器人,FX5U结构化编程
- 电机启动模型 Matlab simulink 可用于模拟电压暂降等电能质量问题,适配于本家的IEEE 33节点模型
- python入门-外星人小游戏
- 高压大功率电动汽车360V方案 电动汽车高压电机控制器360v乘用车平台,某知名电控厂家主推 产品,软件源代码,软件FOC矢量控制算法,boot源码,全部开源,强大的上位机调试工具带实时波形显示,原理
- matlab 多智能体系统编队控制仿真,非线性,一致性,领导跟随控制,有限时间控制等
- 蛋白质功能预测中的深度学习方法:结合序列与互作网络的深层分类模型(DeepGO)
- 三菱纯水设备程序纯水设备程序 使用三菱A系列 PLC和三菱A985GOT触摸屏,也可以额外有偿转移指其他触摸屏,比如昆仑通态和威纶通还有信捷等等
评论0