前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >秋招面试题系列- - -Java工程师(四)

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

原创
作者头像
叶秋学长
发布2022-08-18 09:23:00
2680
发布2022-08-18 09:23:00
举报
文章被收录于专栏:全栈学习专栏

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

代码语言:javascript
复制
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>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MyBatis面试题
  • 16、Xml映射文件中,除了常见的 select|insert|updae|delete标签之外,还有哪些标签?
  • 17、Mybatis的 Xml映射文件中,不同的 Xml映射文件,id是否可以重复?
  • 18、为什么说 Mybatis是半自动 ORM映射工具?它与全自动的区别在哪里?
  • 19、一对一、一对多的关联查询?
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档