千家信息网

Mybatis resultMap标签继承、复用、嵌套的方法

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇内容主要讲解"Mybatis resultMap标签继承、复用、嵌套的方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Mybatis resultM
千家信息网最后更新 2026年11月04日Mybatis resultMap标签继承、复用、嵌套的方法

本篇内容主要讲解"Mybatis resultMap标签继承、复用、嵌套的方法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Mybatis resultMap标签继承、复用、嵌套的方法"吧!

    resultMap标签继承、复用、嵌套

    记录演示 Mybatis 中 resultMap 标签继承、复用(包括跨文件)以及多层嵌套的使用方法,

    • 继承: 继承已存在的 resultMap 标签进行扩展

    • 复用: 跨mapper文件引用现存的 resultMap 标签

    • 嵌套: 多层嵌套的JavaBean与 resultMap 映射方法

    定义表与实体类

    表

    创建三个表 group member score

    score 与 member 一对一,通过 score.id 关联

    group 与 member 一对多,通过 group.id 关联

    create table `score` (    `id` int comment '主键',    `math` float comment '数学成绩',    `history` float comment '历史成绩',    primary key (`id`))create table `member` (    `id` int comment '主键',    `name` varchar comment '姓名',    `group_id` int comment '所属组group表id',    `score_id` int comment '成绩Score表id',    primary key (`id`))create table `group` (    `id` int comment '主键',    `name` varchar comment '组名',    primary key (`id`))
    实体类

    创建三个实体类 Group Member Score

    Score 类的对象是 Member 类的成员变量

    Member 类的对象集合是 Group 类的成员变量

    /** 成绩类 */public class Score {    private Integer id;    /** 数学成绩 */    private Float math;    /** 历史成绩 */    private Float hitory;    ...getter And setter...}/** 成员类 */public class Member {    private Integer id;    /** 姓名 */    private String name;    /** 分数对象 */    private Score score;    ...getter And setter...}/** 组类 */public class Group {    private Integer id;    /** 组名 */    private String groupName;    /** 成员 */    private List members;    ...getter And setter...}
    定义与表映射的 resultMap

    在 BeanMapper.xml 定义最基本的与数据库表字段映射的 resultMap 标签

                                                                                                

    继承、复用、嵌套

    创建 DemoMapper.xml,演示标签的继承、复用、嵌套

    复用现存标签时若位于相同mapper文件可直接使用 resultMap 的 id 属性引用,跨文件时需要指定 namespace 属性才可正常引用

    • extends: 继承,可继承其他 resultMap 并加以扩展

    • association: 复用现存的 resultMap,适用于对应的属性为单JavaBean时,使用 javaType 指定Java类型

    • collection: 复用现存的 resultMap,适用于对应的属性为JavaBean集合时,使用 ofType 指定Java类型

    • columnPrefix: 只将该属性指定前缀的属性赋值给当前 resultMap,存在多层嵌套时每进入一层就会将本层前缀截取掉。

    如下面的mapper文件中,外层的 fullMemberMap 前缀为 member_,经本次筛选 member_score_id -> score_id,

    内层的 scoreMap 前缀为 score_,经本次筛选 score_id -> id,最终被赋值给 Score.id

    所以只有形如 member_score_id 的字段才会最终进入 scoreMap 的取值范围中

    若是不复用只是单纯嵌套,则可以直接将三个类写在一个 resultMap 标签内实现

                                                                                    

    使用resultmap需要注意的地方

    今天主要还是根据需求在进行sql的编写 ,在mybatis里面进行复查和复用的时候一定要去看所对应的有没有这个类 ,今天弄了几个dto,还有时间戳的转换,java里面的时间戳是以毫秒来进行计算的。

    到此,相信大家对"Mybatis resultMap标签继承、复用、嵌套的方法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    复用 标签 方法 属性 成绩 文件 前缀 成员 三个 多层 实体 对象 内容 历史 变量 姓名 字段 数学 时间 类型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 深圳市人人互联网科技有限公司 苏州找大状互联网科技有限公司 金诺互联网科技 互联网金融 科技 互联网科技媒体 奇士达互联网科技 大白互联网科技 互联网科技公司需要的职位 青岛中康互联网医疗科技有限公司 苏州五指互联网络科技有限 明优互联网科技有限公司 互联网金融科技名词解释 广州千川互联网科技有限公司 广东鹅鹅鹅互联网科技有限公司 容联科技互联网电商 中国新注册互联网科技 北京天晋互联网科技有限公司 山东蛋芒互联网科技有限公司 科技发展第三阶段互联网时代 科技互联网项目 互联网通讯科技 宜安科技 互联网金融 青海省互联网新科技 互联网实体化科技化 互联网汽车科技小镇 保险科技服务互联网营销体系 上海互联网科技公司ppt 济南小医互联网科技有限公司招聘 瑞安市蟠桃会互联网科技有限公司
    0