1.ResultMap简介
MyBtis关联映射不得不提到ResultMap元素
resultMap元素是 MyBatis 中最重要最强大的元素。
MyBatis 创建时的一个思想是:数据库不可能永远是你所想或所需的那个样子。 我们希望每个数据库都具备良好的第三范式或 BCNF 范式,可惜它们并不都是那样。 如果能有一种数据库映射模式,完美适配所有的应用程序,那就太好了,但可惜也没有。 而 ResultMap 就是 MyBatis 对这个问题的答案。
默认情况下,MyBatis程序运行时会自动将查询到的数据与需要返回的对象的属性进行匹配赋值(数据包中的列名与对象属性名称完全一致才能匹配成功赋值)。然而在实际开发的过程中,数据表中的列和需要返回对象的属性可能不会完全一致,这种情况下MyBatis不会自动赋值,这个时候需要使用resultMap元素进行结构映射。另外一种情况,查询的是复杂的数据(查询到几个表中数据)映射到一个结果集当中,这种情况使用 resultMap 做自定义结果映射,字段名可以不一致,并且还可以指定要显示的列,比较灵活,应用也广泛(推荐使用)。
2.ResultMap简单映射实例
2.1数据库和实体类准备
create table tbl_user (
user_id int primary key auto_increment,
user_name varchar(20) not null,
user_age int not null
);
insert into tbl_user (user_id,user_name,user_age) values(null,'张三',20),(null,'李四',18);
package com.biem.pojo;
import lombok.*;
/**
* ClassName: User
* Package: com.biem.pojo
* Description:
*
* @Create 2023/4/19 9:27
* @Version 1.0
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class User {
private</