文档文库
手机版
投诉建议
热门搜索:
心得体会
演讲稿
思想汇报
首页
心得体会
学习心得体会
培训心得体会
军训心得体会
社会实践
作风建设
工作心得体会
教育心得体会
演讲稿
演讲稿格式
演讲稿范文
竞聘演讲稿
师德演讲稿
三分钟演讲稿
思想汇报
思想汇报范文
转正思想汇报
大学生思想汇报
季度思想汇报
教师思想汇报
工作计划
工作计划格式
工作计划开头
工作计划结尾
总结与计划
工作计划模板
工作总结
年终工作总结
年度工作总结
个人工作总结
实习报告
实习报告范文
实习计划范文
实习鉴定范文
实习报告内容
个人简历
求职简历
简历范文
简历模板
简历表格
简历格式
祝福语
春节
除夕
元宵
端午节
合同范文
合同范本
合同样本
合同范本格式
首页
>
10道MyBatis常见面试题
10道MyBatis常见面试题
发布时间:2023-04-28 02:59:50 来源:
文档文库
小
中
大
字号:
手机查看
10
道
MyBatis
常见面试题
1. #{}
和
${}
的区别是什么?
#{}
是预编译处理,
${}
是字符串替换。
Mybatis
在处理
#{}
时,会将
sql
中的
#{}
替换为
?
号,调用
PreparedStatement
的
set
方法来赋值;
Mybatis
在处理
${}
时,就是把
${}
替换成变量的值。
使用
#{}
可以有效的防止
SQL
注入,提高系统安全性。
2.
通常一个
Xml
映射文件,都会写一个
Dao
接口与之对应,请问,这个
Dao
接口
的工作原理是什么?
Dao
接口里的方法,参数不同时,方法能重载吗?
Dao
接口,就是人们常说的
Mapper
接口,接口的全限名,就是映射文件中的
namespace
的值,接口的方法名,就是映射文件中
MappedStatement
的
id
值,接口方
法内的参数,
就是传递给
sql
的参数。
Mapper
接口是没有实现类的,
当调用接口方法时,
接口全限名
+
方法名拼接字符串作为
key
值,
可唯一定位一个
MappedStatement
,
举例:
com.mybatis3.mappers.StudentDao.findStudentById
,可以唯一找到
namespace
为
com.mybatis3.mappers.StudentDao
下
面
id
=
findStudentById
的
MappedStatement
。
在
Mybatis
中,
每一个
、
、
、
标签,都会被解析为一个
MappedStatement
对象。
Dao
接口里的方法,是不能重载的,因为是全限名
+
方法名的保存和寻找策略。
Dao
接口的工作原理是
JDK
动态代理,
Mybatis
运行时会使用
JDK
动态代理为
Dao
接口生成代理
proxy
对象,
代理对象
proxy
会拦截接口方法,
转而执行
MappedStatement
所代表的
sql
,然后将
sql
执行结果返回。
3. Mybatis
是如何进行分页的?分页插件的原理是什么?
Mybatis
使用
RowBounds
对象进行分页,它是针对
ResultSet
结果集执行的内存分
页,而非物理分页,可以在
sql
内直接书写带有物理分页的参数来完成物理分页功能,也
可以使用分页插件来完成物理分页。
分页插件的基本原理是使用
Mybatis
提供的插件接口,实现自定义插件,在插件的拦
截方法内拦截待执行的
sql
,然后重写
sql
,根据
dialect
方言,添加对应的物理分页语句
和物理分页参数。
4. Mybatis
是如何将
sql
执行结果封装为目标对象并返回的?都有哪些映射形式?
第一种是使用
标签,逐一定义列名和对象属性名之间的映射关系。第二
种是使用
sql
列的别名功能,将列别名书写为对象属性名,比如
T_NAME AS NAME
,对
象属性名一般是
name
,小写,但是列名不区分大小写,
Mybatis
会忽略列名大小写,智
能找到与之对应对象属性名,你甚至可以写成
T_NAME AS NaMe
,
Mybatis
一样可以正
常工作。
有了列名与属性名的映射关系后,
Mybatis
通过反射创建对象,同时使用反射给对象
本文来源:
https://www.2haoxitong.net/k/doc/bdd395f2b8d528ea81c758f5f61fb7360a4c2b5f.html
《10道MyBatis常见面试题.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
文档为doc格式
分享到:
相
关
案
例
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
正在进行安全检测...
2024-04-28
相关推荐
1
双肺轻度间质性改变的症状是什么?【养生小知识】
2
陕西省商洛市六年级下学期语文期中考试试卷D卷
3
答辩以及综合评审意见表
4
十大经典徒步路线
5
汽车的车身尺寸全解读
6
2013年上半年中国葡萄酒进口数据统计
7
2018年幼儿园后勤工作计划2018-范文word版 (8页)
8
小型微利企业所得税优惠政策
9
邯郸市教育局关于认真学习衡水经验、努力提高教育质量的通知
10
从百草园到三味书屋(说课稿)
推荐内容
2017年小学五年级科学下册教学计划
解析新生儿表情“暗语”
大班幼儿个案观察记录大集合【三篇】
小学语文 常见 反义词
拒绝毒品_珍爱生命_手抄报资料
2018年中学班主任参加培训心得体会精选
道德与法治七上电子书-七年级道德与法治男生女生教案
关于MRI影像的内容,你都了解吗
新居入伙贺词短信
2022新年qq空间祝福留言(通用5篇)