恳请老师给我解答下 我对于这种一个类属性是另一个类一直搞不明白 谢谢您

来源:4-1 Dao层之新增店铺

慕粉0009206028

2019-02-23

图片描述

老师 测试店铺新增时候 我们new了Area对象 最后用了area.setAreaId(2) 这个我不懂 为啥要事先数据库中要存在areaid为2的一条记录 如果数据库中没有不行么 area.setAreaId(2)是去数据库中查询为2的一条记录 然后放在area对象里么

写回答

1回答

翔仔

2019-02-24

同学好,首先如果在数据库里不存在areaid为2的记录的话,即tb_area没有相关记录,那么由于tb_shop里有area_id这个外键(根据业务要求,店铺需要和地址绑定,即哪个地方的店铺),同学往tb_shop添加店铺记录的时候会把该记录的area_id置为2,但是由于2并未出现在tb_area,会导致违反外键约束而报错。所以需要先在添加area_id为2的地址才能添加该区域的店铺。

类里面放类只是为了让逻辑结构更清晰些,和数据库查找没有必然联系:)

0
3
慕粉0009206028
谢谢老师您的耐心解答
2019-02-24
共3条回复

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程