请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于DAO的问题

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

正在回答 回答被采纳积分+3

2回答

慕慕65597133 2020-03-31 23:44:38

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

2 回复 有任何疑惑可以回复我~
  • 提问者 qq_慕运维4078601 #1
    我懂了同学,mybatis这个机制就是通过数据库的外键 从而对对象进行赋值或存储,对吗。
    回复 有任何疑惑可以回复我~ 2020-04-01 22:49:08
翔仔 2020-04-01 14:45:58

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

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信