mybatis 关于多对多 关联 是否需要 建实体

姬天翊 2020-07-15 04:42:17
请教各位大哥大姐,
多对多关系, 三张表,
中间表(关联表),是否需要建立实体类,
或者说如果不建立实体类,如何完成增删改查。
...全文
12920 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2020-07-20
  • 打赏
  • 举报
回复 8
如果关联关系表中,只存储关联关系(关联的两张表的ID),那么,不需要建立实体类。在关联的两个POJO类中,建立对方的List集合即可。 如果关联关系表中,还要保存关联关系存续期的一些状态数据或者资源数据,那就要建立实体类了。 例如 A-B-C 中,A 与 C 是多对多的关系。 食堂消费记录表(B)中,会存放会员(A)在窗口(C)的消费记录。 A表存放会员信息,C表存放窗口(对应的商户)信息。 消费表中,即存放会员的ID,又存放窗口商户的ID,同时还要存放消费的金额和时间。 根据后续的操作需求,建立 class B,里面有private A a, private C c, private float amount, private Date timeSpent; 如果有查询会员的消费流水这样的需求,class A 里面要有 private List<B> lb; 如果有查询商户的收入流水这样的需求,class C 里面要有 private List<A> la;
撸猫最开心 2020-07-17
  • 打赏
  • 举报
回复
中间表一般不需要实体类,除非你有特殊需求要对中间表有单表操作的功能 当然如果你嫌麻烦建实体类也可以,主要是为了增改方便 删和查直接sql语句
桃桃熊 2020-07-17
  • 打赏
  • 举报
回复
引用 楼主 姬天翊 的回复:
请教各位大哥大姐, 多对多关系, 三张表, 中间表(关联表),是否需要建立实体类, 或者说如果不建立实体类,如何完成增删改查。
实现curd方式很多,可以直接使用内连接方式关联,如果其中一张表是显示集合,可以使用mybatis的关联查询实现,还有级联查询等操作。关于你说的实体类,需要在页面显示的字段添加实体类,关联表不需要实体类
  • 打赏
  • 举报
回复
中间表不需要建实体类,并且一般不考虑多对多,只考虑一对一和一对多两种情况。假设是a-b-c三张表,那么只需要建立A类和B类即可。如果是一对一,就在A中添加一个private B b ;属性 。如果是一对多,就在A中添加一个private List<B> bList 属性

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧