# 【付费】第14章:解析和使用ResultMap映射参数配置
作者:小傅哥
博客:https://bugstack.cn (opens new window)
星球:https://t.zsxq.com/Ja27ujq (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!😄
# 零、优秀作业
- 理解如何根据ResultMap映射参数配置设置值 @杨杨得亿🙉 (opens new window)
- 在解析Mapper文件的时候不仅解析select、insert、update、delete等标签还会解析ResultMap标签 @Liuliuliu (opens new window)
- 将数据库中user表字段user_name转为User对象实体中的userName @liuc (opens new window)
# 一、前言
学源码只是为了快速定位错误?
路走窄了不是,如果一个框架已经不稳定到,排错的时候,需要翻阅源码才能处理。那么这个框架可能大概率也不会被使用的那么广泛。
所以我们学习源码是在学习什么呢,就小傅哥来说学习源码最大的目的,就是为了通过这些源码级复杂模型中,学习系统框架的架构思维、设计原则和设计模式。在这些源码学习手写的过程中,感受、吸收并也是锻炼一种思维习惯,并尝试把这些思路技术迁移到平常的复杂业务设计开发中。
这才是学习源码的最佳实践,也是最能让一个码农逐步成长为高级的开发并走向架构师高度的学习路线,否则你去哪里吸收这些复杂的模型结构和运用了大量的设计模式所迭代出的落地源码呢。
# 二、目标
通常在数据库表字段的命名中,所定义的规范是希望使用小写的英文字母和下划线的方式组合使用,例如:雇员表中的雇员姓名,则使用 employee_name 表字段描述。但这样的字段定义与 Java 代码开发中的 PO 数据库对象中的字段,是不能一一匹配的,因为 Java 代码中会使用驼峰的方式进行命名,同样是雇员姓名在 Java 代码中则是 employeeName 的方式进行表示。
那么这里就有一个问题了,我们在使用 Mybatis 框架的时候,如果遇到这样的字段,则需要通过把数据库表中的下划线的字段名称,映射成 Java 代码中的驼峰字段,这样才能在执行查询操作的时候,正确的把数据库中的结果映射到 Java 代码的返回对象上。注意:另外在 Mybatis 中也可以使用例如 employee_name as employeeName 的方式进行处理,但在整个编程中并不是太优雅,因为所有的查询都要做 as 映射,那么使用一个统一的字段映射更加合理。
本章节我们就来实现一下关于字段映射的配置操作,这也是前面章节中我们留下 ResultMap 框架结构,但没有实现的那部分内容。