mybatis的一对多映射
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,延续mybatis的一对一问题,还是上面一对一举得那个例子(http://fengcl.blog.51cto.com/9961331/1875657),如果一个用户有多个作品怎么办?这就涉及到了一对多
千家信息网最后更新 2026年11月02日mybatis的一对多映射
延续mybatis的一对一问题,还是上面一对一举得那个例子(http://fengcl.blog.51cto.com/9961331/1875657),
如果一个用户有多个作品怎么办?这就涉及到了一对多的问题。同样的,mybatis一对多依然可以分为两种方式来解决。
一、使用内嵌的ResultMap实现一对多映射
1)实体
public class User implements Serializable{ private static final long serialVersionUID = 112596782083832677L; private Integer id; //编号 private String email; //邮箱 private String realName; //真实姓名 private String telephone; //电话号码 private List worksInfos; //作品 //get,set方法 ...}public class WorksInfo implements Serializable{ private Integer id; private Integer userId; private Date uploadDate; //上传时间 private Date updateDate; //更新时间 //get,set方法 ...} 2)dao接口省略...
3)mapper映射文件
4)测试省略
二、嵌套查询方式实现一对多
1)实体类如上
2)dao层接口省略
3)mapper文件映射
4)测试方法忽略
注意:collention元素里的column属性,即主表中要传递给副表做查询的条件,例如本例中:
及时将user表中的id字段传递给findWorksInfoByUserId方法做参数使用的,对应worksInfo表中的userId字段。除此之外,嵌套select语句会导致N+1的问题。首先,主查询将会执行(1 次) ,对于主
查询返回的每一行,另外一个查询将会被执行(主查询 N 行,则此查询 N 次) 。对于
大型数据库而言,这会导致很差的性能问题。
查询
方法
问题
作品
字段
实体
接口
文件
方式
时间
测试
一对一
一行
例子
元素
参数
号码
多个
姓名
属性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
中智农互联网科技
互联网属科技
朗新科技与工业互联网
互联网科技社
奇酷互联网络科技
深圳齐家互联网科技
深圳前海聚择互联网科技有限公司
互联网软件和科技
河南住房之家互联网科技
爱医互联网络科技
小米互联网科技园入驻
智帮互联网科技公司最近动向
启辰互联网科技
广州有谷有贝互联网科技有限公司
陕西九四连强互联网科技有限公司
美国五大互联网科技公司市值多少
优雇互联网科技有限公司
高科技和互联网的现代国家
科技发展第三阶段互联网时代
互联网高科技
互联网最新的科技有限公司
互联网高科技企业
浙江互联网科技研学营
湖南一路畅行互联网科技
领航科技大厦互联网公司
富国互联网金融科技混合基金
承德科技产业互联网平台
优雇互联网科技有限公司
广州全民伙伴互联网科技有限公司