秋招面试题系列- - -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>


相关文章
|
27天前
|
Java 程序员
java线程池讲解面试
java线程池讲解面试
50 1
|
1天前
|
存储 安全 Java
[Java基础面试题] Map 接口相关
[Java基础面试题] Map 接口相关
|
1天前
|
Java
[Java 面试题] ArrayList篇
[Java 面试题] ArrayList篇
|
2天前
|
Java 调度
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
Java面试必考题之线程的生命周期,结合源码,透彻讲解!
23 1
|
2天前
|
设计模式 搜索推荐 Java
面试官不按套路出牌,上来就让聊一聊Java中的迭代器(Iterator ),夺命连环问,怎么办?
面试官不按套路出牌,上来就让聊一聊Java中的迭代器(Iterator ),夺命连环问,怎么办?
10 0
|
2天前
|
存储 安全 Java
每日一道Java面试题:说一说Java中的泛型?
今天的每日一道Java面试题聊的是Java中的泛型,泛型在面试的时候偶尔会被提及,频率不是特别高,但在日后的开发工作中,却是是个高频词汇,因此,我们有必要去认真的学习它。
12 0
|
2天前
|
Java 编译器
每日一道Java面试题:方法重载与方法重写,这把指定让你明明白白!
每日一道Java面试题:方法重载与方法重写,这把指定让你明明白白!
11 0
|
6天前
|
XML 缓存 Java
Java大厂面试题
Java大厂面试题
18 0
|
6天前
|
存储 安全 Java
Java大厂面试题
Java大厂面试题
11 0
|
6天前
|
存储 安全 Java
Java大厂面试题
Java大厂面试题
13 0