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

简介: 秋招面试题系列- - -Java工程师(四)
+关注继续查看

目录

MyBatis面试题

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

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

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

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


MyBatis面试题

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


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

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>


相关文章
|
1天前
|
存储 安全 Java
java基础面试题
可以有多个类,但只能有一个 public 的类,并且 public 的类名必须与文件名相一致。
11 0
|
2天前
|
Cloud Native 算法 Dubbo
金九银十最新一线大厂 Java 面试题大全1000+ 面试题附答案详解
纵观今年的技术招聘市场, Java 依旧是当仁不让的霸主 !即便遭受 Go 等新兴语言不断冲击,依旧岿然不动。究其原因: Java 有着极其成熟的生态,这个不用我多说; Java 在 运维、可观测性、可监 控性方面都有着非常优秀的表现; Java 也在积极 应对容器化、云原生等大趋势,比如 Spring Boot 就已经全面拥抱云原生。 企业对 Java 的需求最大 ,Java 程序员的群体也最为庞大,有着 1200 万之多 ,彼此之间都有更多的选择。 换句话说,也是最修罗场的! 所以,要想拿下心仪的 Offer ,咱就一定要做好准备,把那些必考点、套路都给吃透了! 我拉来几个大
|
5天前
|
算法 搜索推荐 Java
【面试题精讲】Java Stream排序的实现方式
【面试题精讲】Java Stream排序的实现方式
14 0
|
5天前
|
Oracle Java 关系型数据库
Java面试题(一)(基础概念与常识)
Java面试题(一)(基础概念与常识)
25 0
|
7天前
|
XML JavaScript Java
华为Java工程师面试题
华为Java工程师面试题
22 0
|
9天前
|
NoSQL Java 关系型数据库
2023最全Java面试题及答案汇总
所有的面试题目都不是一成不变的,面试题目只是给大家一个借鉴作用,最主要的是给自己增加知识的储备,有备无患。
|
9天前
|
存储 缓存 安全
面试官最喜欢问的十道java面试题
面试官最喜欢问的十道java面试题
|
10天前
|
存储 安全 Java
Java多线程并发面试题 2
Java多线程并发面试题
22 0
|
10天前
|
缓存 监控 安全
Java多线程并发面试题 1
Java多线程并发面试题
21 0
|
10天前
|
缓存 网络协议 Java
Java IO体系与NIO和BIO体系面试题
Java IO体系与NIO和BIO体系面试题
23 0
相关产品
云迁移中心
推荐文章
更多