秋招面试题系列- - -Java工程师(四)

简介: ​目录MyBatis面试题16、Xml映射文件中,除了常见的 select|insert|updae|delete标签之外,还有哪些标签?答:<resultMap>、<parameterMap>、<sql>、<include>、<selectKey>,加上动态 sql的 9个标签,其中为 sql片段标签,通过<include>标签引入 sql片段,<selectKey>为不支持自增的主键生成策略标签。17、Mybatis的 Xml映射文件中,不同的 Xml映射文件,id是否可以重复?不同的 Xml映射文件,如果配置了 namespace,那么 id可以重复;如果没

 前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈

目录

MyBatis面试题

16、Xml映射文件中,除了常见的 select|insert|updae|delete标签之外,还有哪些标签?

17、Mybatis的 Xml映射文件中,不同的 Xml映射文件,id是否可以重复?

18、为什么说 Mybatis是半自动 ORM映射工具?它与全自动的区别在哪里?

19、一对一、一对多的关联查询?


MyBatis面试题

16、Xml映射文件中,除了常见的 select|insert|updae|delete标签之外,还有哪些标签?

答:<resultMap>、<parameterMap>、<sql>、<include>、<selectKey>,加上动态 sql的 9个标签,其中为 sql片段标签,通过<include>标签引入 sql片段,<selectKey>为不支持自增的主键生成策略标签。

17、Mybatis的 Xml映射文件中,不同的 Xml映射文件,id是否可以重复?

不同的 Xml映射文件,如果配置了 namespace,那么 id可以重复;如果没有配置 namespace,那么 id不能重复;

原因就是 namespace+id是作为 Map的 key使用的,如果没有 namespace,就剩下 id,那么,id重复会导致数据互相覆盖。有了 namespace,自然 id就可以重复,namespace不同,namespace+id自然也就不同。

18、为什么说 Mybatis是半自动 ORM映射工具?它与全自动的区别在哪里?

Hibernate属于全自动 ORM映射工具,使用 Hibernate查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的。而 Mybatis在查询关联对象或关联集合对象时,需要手动编写 sql来完成,所以,称之为半自动 ORM映射工具。

19、一对一、一对多的关联查询?

namespace="com.lcb.mapping.userMapper">
id="getClass"parameterType="int"
resultMap="ClassesResultMap">
select * from class c,teacher t where c.teacher_id=t.t_id andc.c_id=#{id}
type="com.lcb.user.Classes"id="ClassesResultMap">
property="id"column="c_id"/>
property="name"column="c_name"/>
property="teacher"
javaType="com.lcb.user.Teacher">
property="id"column="t_id"/>
property="name"column="t_name"/>
id="getClass2"parameterType="int"
resultMap="ClassesResultMap2">
select * from class c,teacher t,student s where c.teacher_id=t.t_idand c.c_id=s.class_id and c.c_id=#{id}
type="com.lcb.user.Classes"id="ClassesResultMap2">
property="id"column="c_id"/>
property="name"column="c_name"/>
property="teacher"
javaType="com.lcb.user.Teacher">
property="id"column="t_id"/>
<resultproperty="name"column="t_name"/></association>
<collectionproperty="student"
ofType="com.lcb.user.Student">
<idproperty="id"column="s_id"/>
<resultproperty="name"column="s_name"/></collection>
</resultMap></mapper>

image.gif


相关文章
|
8天前
|
人工智能 运维 安全
|
6天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
B站开源IndexTTS2,用极致表现力颠覆听觉体验
在语音合成技术不断演进的背景下,早期版本的IndexTTS虽然在多场景应用中展现出良好的表现,但在情感表达的细腻度与时长控制的精准性方面仍存在提升空间。为了解决这些问题,并进一步推动零样本语音合成在实际场景中的落地能力,B站语音团队对模型架构与训练策略进行了深度优化,推出了全新一代语音合成模型——IndexTTS2 。
661 23
|
7天前
|
人工智能 测试技术 API
智能体(AI Agent)搭建全攻略:从概念到实践的终极指南
在人工智能浪潮中,智能体(AI Agent)正成为变革性技术。它们具备自主决策、环境感知、任务执行等能力,广泛应用于日常任务与商业流程。本文详解智能体概念、架构及七步搭建指南,助你打造专属智能体,迎接智能自动化新时代。
|
14天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
1072 110
人工智能 数据可视化 数据挖掘
240 0