关于DAO的问题

来源:4-11 店铺类别区域信息的获取

qq_慕运维4078601

2020-03-31

老师,我记得您上课说过,数据库不能存储对象,所以你在插入数据的时候对应的对象你都是存入的对象的成员变量“ID”,比如Shop对象中存在一个shopCategory对象成员变量,你在addShop的DAO的xml里面用shopCategoryId代替了shopCategory。
我的问题是,那你在select的时候,拿出来的仍然是ID,可是你要存入对象的对应的成员变量是一个对象啊,int数据传入一个对象,这不是有问题的吗。
图片描述

写回答

2回答

慕慕65597133

2020-03-31

不是用id代替对象,而是在关系数据库里面这是一个外键,这个外键是另一个表的主键,所以你可以凭借这个外键找到另一个表对应的数据,而model层的实体类和数据库存在映射关系,但是不不能说用id代替对象,只是说可以通过这个id找到数据。

2
1
qq_慕运维4078601
我懂了同学,mybatis这个机制就是通过数据库的外键 从而对对象进行赋值或存储,对吗。
2020-04-01
共1条回复

翔仔

2020-04-01

同学好,这是mybatis的用法,它select标签里面只允许table的字段呢,至于数据库的关系和对象关系的转换,这是mybatis这个orm框架该做的事情,同学可以参考后面我们的ShopDao.xml是怎么配置的,就能找到答案,Shop里面存的就是我们的ShopCategory实体对象,而mybatis自动完成了转换,不知道为什么我贴不上相关的代码,同学可以去看看

0
0

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

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

5113 学习 · 8144 问题

查看课程