已解决
MyBatis面试题(四)
来自网友在路上 172872提问 提问时间:2023-09-19 20:26:22阅读次数: 72
最佳答案 问答题库728位专家为你答疑解惑
文章目录
- 前言
- 一、Mybatis 是否可以映射 Enum 枚举类?
- 二、如何获取自动生成的(主)键值?
- 三、在 mapper 中如何传递多个参数?
- 四、resultType resultMap 的区别?
- 五、使用 MyBatis 的 mapper 接口调用时有哪些要求?
- 六、Mybatis 比 IBatis 比较大的几个改进是什么?
- 七、IBatis 和 MyBatis 在核心处理类分别叫什么?
- 八、IBatis 和 MyBatis 在细节上的不同有哪些?
- 总结
前言
- Mybatis 是否可以映射 Enum 枚举类?
- 如何获取自动生成的(主)键值?
- 在 mapper 中如何传递多个参数?
- resultType resultMap 的区别?
- 使用 MyBatis 的 mapper 接口调用时有哪些要求?
- Mybatis 比 IBatis 比较大的几个改进是什么?
- IBatis 和 MyBatis 在核心处理类分别叫什么?
- IBatis 和 MyBatis 在细节上的不同有哪些?
一、Mybatis 是否可以映射 Enum 枚举类?
答:Mybatis 可以映射枚举类,不单可以映射枚举类,Mybatis 可以映射任何对象到表的一列上。映射方式为自定义一个 TypeHandler,实现 TypeHandler 的 setParameter()和getResult()接口方法。
TypeHandler 有两个作用,一是完成从 javaType 至 jdbcType 的转换,二是完成 jdbcType 至 javaType 的转换,体现为 setParameter()和 getResult()两个方法,分别代表设置 sql 问号占位符参数和获取列查询结果。
二、如何获取自动生成的(主)键值?
答:配置文件设置 usegeneratedkeys 为 true
三、在 mapper 中如何传递多个参数?
答:
- 直接在方法中传递参数,xml 文件用#{0} #{1}来获取
- 使用 @param 注解:这样可以直接在 xml 文件中通过#{name}来获取
四、resultType resultMap 的区别?
答:
- 类的名字和数据库相同时,可以直接设置 resultType 参数为 Pojo 类
- 若不同,需要设置 resultMap 将结果名字和 Pojo 名字进行转换
五、使用 MyBatis 的 mapper 接口调用时有哪些要求?
答:
- Mapper 接口方法名和 mapper.xml 中定义的每个 sql 的 id 相同
- Mapper 接口方法的输入参数类型和 mapper.xml 中定义的每个 sql 的 parameterType 的类型相同
- Mapper 接口方法的输出参数类型和 mapper.xml 中定义的每个 sql 的 resultType 的类型相同
- Mapper.xml 文件中的 namespace 即是 mapper 接口的类路径。
六、Mybatis 比 IBatis 比较大的几个改进是什么?
答:
- 有接口绑定,包括注解绑定 sql 和 xml 绑定 Sql
- 动态 sql 由原来的节点配置变成 OGNL 表达式 3) 在一对一,一对多的时候引进了
association,在一对多的时候引入了 collection 节点,不过都是在 resultMap 里面配置
七、IBatis 和 MyBatis 在核心处理类分别叫什么?
答:IBatis 里面的核心处理类交 SqlMapClient,MyBatis 里面的核心处理类叫做 SqlSession。
八、IBatis 和 MyBatis 在细节上的不同有哪些?
答:
- 在 sql 里面变量命名有原来的#变量# 变成了#{变量}
- 原来的 变量 变量 变量变成了${变量}
- 原来在 sql 节点里面的 class 都换名字交 type
- 原来的 queryForObject queryForList 变成了 selectOne selectList5)原来的别名设置在映射文件里面放在了核心配置文件里
总结
- Mybatis 是否可以映射 Enum 枚举类?
- 如何获取自动生成的(主)键值?
- 在 mapper 中如何传递多个参数?
- resultType resultMap 的区别?
- 使用 MyBatis 的 mapper 接口调用时有哪些要求?
- Mybatis 比 IBatis 比较大的几个改进是什么?
- IBatis 和 MyBatis 在核心处理类分别叫什么?
- IBatis 和 MyBatis 在细节上的不同有哪些?
查看全文
99%的人还看了
相似问题
- MeterSphere | 接口测试请求体中,int类型的入参实现动态化变量
- postman设置接口关联这样做,薪资直接涨3k
- 接口自动化中cookies的处理技术
- C#中抽象类、抽象方法和接口暨内联临时变量的精彩表达
- 【实战详解】如何快速搭建接口自动化测试框架?Python + Requests
- 一次显著的接口性能优化,从10s优化到0.9s
- 做接口自动化遇到的20个难点,记录下我是如何解决的!
- 全网最全jmeter接口测试/接口自动化测试看这篇文章就够了:跨线程组传递jmeter变量及cookie的处理
- 微信小程序发货信息录入接口 错误上传时间非法,请按照 RFC 3339 格式填写?
- 京东商品详情数据接口【京东API接口开发系列】,监控京东价格走势,接口代码示例,可高并发批量获取
猜你感兴趣
版权申明
本文"MyBatis面试题(四)":http://eshow365.cn/6-9544-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 二叉树顺序结构及实现
- 下一篇: 会员管理系统H5-01会员开卡