关于DTO中初始化属性创建对象

来源:4-3 ResultMap结果映射

Wonwayshon

2021-01-20 09:42:35

老师我在GoodsDTO中没有初始化属性创建Goods对象同样保存到了结果,DTO中的属性需要或者应该初始化创建对象吗?

http://img.mukewang.com/climg/6007899209be8b7711730834.jpg

如图,我没有像老师那样private Goods goods=new Goods();

如下显示结果依然保存到了数据,Mybatis似乎是会自己创建对象来保存数据,如果初始化对象的话Mybatis是会将数据存入初始化产生的对象还是存入自己创建对象然后存入DTO呢?DTO属性初始化产生对象会不会造成空间浪费?

http://img.mukewang.com/climg/600789c7096a953720500254.jpg

写回答

1回答

好帮手慕阿慧

2021-01-20

同学你好,

Mybatis会自己创建对象来保存数据。如果初始化对象的话,Mybatis是会将数据存入初始化产生的对象。

也就是,如果属性为private Goods goods = new Goods();,那么Mybatis不会再创建对象,会直接将数据存放到goods对象中。如果属性为private Goods goods;,那么Mybatis创建对象,然后将数据存放到创建的goods对象中。

DTO属性初始化产生对象不会造成空间浪费。

祝学习愉快~

0

0 学习 · 8016 问题

查看课程