电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

2025年SSM面试题

2025年SSM面试题_第1页
1/8
2025年SSM面试题_第2页
2/8
2025年SSM面试题_第3页
3/8
Mybatis 常会面试题(转)1、#{}和${}的区别是什么?注:这道题是面试官面试我同事的。答:${}是 Properties 文献中的变量占位符,它可以用于标签属性值和 sql 内部,属于静态文本替代,例如${driver}会被静态替代为。#{}是 sql 的参数占位符,Mybatis 会将 sql 中的#{}替代为?号,在 sql 执行前会使用PreparedStatement 的参数设置措施,按序给 sql 的?号占位符设置参数值,例如 ps.setInt(0, parameterValue),#{item.name}的取值方式为使用反射从参数对象中获取 item 对象的 name 属性值,相称于 param.getItem().getName()。2、Xml 映射文献中,除了常见的 select|insert|updae|delete 标签之外,尚有哪些标签?注:这道题是京东面试官面试我时问的。答:尚有诸多其他的标签,,加上动态sql 的 9 个标签,trim|where|set|foreach|if|choose|when|otherwise|bind等,其中为 sql 片段标签,通过标签引入 sql 片段,为不支持自增的主键生成方略标签。3、最佳实践中,一般一种 Xml 映射文献,都会写一种 Dao 接口与之对应,请问,这个 Dao 接口的工作原理是什么?Dao 接口里的措施,参数不一样步,措施能重载吗?注:这道题也是京东面试官面试我时问的。答:Dao 接口,就是人们常说的 Mapper 接口,接口的全限名,就是映射文献中的 namespace 的值,接口的措施名,就是映射文献中 MappedStatement 的 id 值,接口措施内的参数,就是传递给 sql 的参数。Mapper 接口是没有实现类的,当调用接口措施时,接口全限名+措施名拼接字符串作为 key 值,可唯一定位一种MappedStatement,举例:StudentById,可以唯一找到 namespace 为下面 id = findStudentById 的 MappedStatement。在 Mybatis 中,每一种