Mybatis(9):自定义映射resultMap

resultMap:一般用于处理字段名和属性名不一致问题,或者多对一 一对多问题

tips:

1. 数据库字段名一般命名未emp_id这种下划线,但是实体类一般采用驼峰命名,不能用下划线

  1. id在数据库中一般是自增主键,在业务中创建实体类也一般不赋值。int不赋值的情况下值为0,执行到数据库中id就为0,而Integer在不赋值的情况下为null,一般id为自增主键,数据更新到数据库中可以自动填充id。所以在实体类中,id数据类型用Integer(所以代码采用Integer)

  2. @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
    1、可以当注释用,方便阅读;
    2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。

举例:在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性。
@Override
public void onCreate(Bundle savedInstanceState)

{.......}
这种写法是正确的,如果你写成:

@Override
public void oncreate(Bundle savedInstanceState)
{.......}
编译器会报如下错误:The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,以确保你正确重写onCreate方法(因为oncreate应该为onCreate)。而如果你不加@Override,则编译器将不会检测出错误,而是会认为你为子类定义了一个新方法:oncreate

JDBC查询采用:获取sql,然后反射进行获取对象的属性名,通过属性名获取属性

一、员工部门多对一具体实现具体实现

1.构建数据库两张表

2.实现具体类(员工类):实现有参/无参构造和toString方法

字段名和属性名不一致的处理方法:即如何根据下划线去定义驼峰

有两种方式:


只有这种格式的才可以被映射

3.使用resultMap自定义映射

property:属性,column:字段,javaType:属性类型,JDBCtype:字段类型

id:设置主键与字段的对应关系,result:设置普通字段与属性的映射关系

相关推荐
是乙太呀6 分钟前
php反序列化1_常见php序列化的CTF考题
开发语言·web安全·渗透测试·php·ctf·反序列化
爱写Bug的小孙10 分钟前
docker搭建私有的仓库
java·运维·spring boot·docker·容器
WZF-Sang10 分钟前
Linux—进程概念学习-03
linux·运维·服务器·c语言·开发语言·学习·vim
蓝晶之心14 分钟前
JAVA之若依框架——达梦数据库
java·开发语言·数据库
凡人的AI工具箱20 分钟前
40分钟学 Go 语言高并发:【实战】并发安全的配置管理器
开发语言·网络·后端·安全·golang
极客先躯21 分钟前
高级java每日一道面试题-2024年11月24日-JVM篇-说说对象分配规则?
java·jvm···对象分配规则
Java 第一深情22 分钟前
深入浅出:JVM 的架构与运行机制
java·jvm
martian66524 分钟前
C# 基于WPF实现数据记录导出excel
开发语言·c#·excel
带刺的坐椅26 分钟前
Solon(Spring 的替代方案)最近半年下载量突破 1200万!
java·maven·solon
TANGLONG22232 分钟前
【初阶数据结构和算法】leetcode刷题之设计循环队列
java·c语言·数据结构·c++·python·算法·leetcode