大厂面试Java各知识点综合面试题Mybatis面试题(含答案)_

VIP免费
2024-12-10 1 0 201.62KB 3 页 5.9玖币
侵权投诉
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 中每一个<select><insert><update>、<delete>
标签,都会被解析为一个 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 执行结果封装为目标对象并返回的?
都有哪些映射形式
使<resultMap>
使 sql T_NAME AS NAME
摘要:

1.#{}和${}的区别是什么?#{}是预编译处理,${}是字符串替换。Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;Mybatis在处理${}时,就是把${}替换成变量的值。使用#{}可以有效的防止SQL注入,提高系统安全性。2.通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗?Dao接口,就是人们常说的Mapper接口,接口的全限名,就是映射文件中的namespace的值,接口的方法名,就是映射文件中MappedStatement...

展开>> 收起<<
大厂面试Java各知识点综合面试题Mybatis面试题(含答案)_.pdf

共3页,预览1页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:计算机 价格:5.9玖币 属性:3 页 大小:201.62KB 格式:PDF 时间:2024-12-10

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 3
客服
关注