mybatis多参数入参

来源:4-1 Mybatis集合类型参数传递

weixin_慕工程8071827

2019-06-05 18:16:59

mybatis多参数入参的时候,已有2个参数的构造器,为什么一定要添加无参构造器,底层实现是怎样的?

写回答

4回答

好帮手慕阿莹

2019-06-10

同学你好,为了可以更好的给您解答,想和您再确认一下:

您是不是说的不是本节视频下的内容呢?您说的是否是3-3 javaBean这一章节呢?

如果是:我试过把javaBean中的无参构造去掉并没有报错,

http://img.mukewang.com/climg/5cfe03470001971711200447.jpg

而报错是显示没有另一个构造方法

http://img.mukewang.com/climg/5cfe032000016b7117950072.jpg

于是,我加了这样一个构造方法

http://img.mukewang.com/climg/5cfe03640001c14a10460413.jpg

这个是因为它从数据库中查出来的无法封装到这个javaBean中去了

http://img.mukewang.com/climg/5cfe0391000151e205910161.jpg

,于是我添加了一个属性deptId属性。和一个对应的构造方法后就不会报错了:

http://img.mukewang.com/climg/5cfe03e300015cc312770151.jpg

如果同学说报错,请问报错是什么呢?可以把代码和报错截图都贴一下。

2、如果老师理解有误,同学可以再详细描述一下吗?


如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


1

好帮手慕柯南

2019-06-07

同学你好!必须添加无参的构造方法是因为mybatis框架会调用这个默认构造方法来构造实例对象。所以添加了有参的构造方法后必须添加无参的构造方法。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

0
heixin_慕工程8071827
h 讲真,有参构造器也可以创建实例对象。。而且照你这么说,同一方法中,无参构造器创建实例对象,有参构造器负责参数注入,你觉得这个讲法合理吗,这不是多此一举,不好意思,这是我的理解,我不太想看源码
h019-06-10
共1条回复

好帮手慕阿满

2019-06-06

同学你好,当使用有参构造时,并没有调用无参构造,这里的无参构造并不是一定要添加。而是为了避免定义无参对象时出现报错,建议同学添加无参构造方法。同学在进行多参数入参时,将无参构造方法去掉,运行程序,查看是否会报错。

祝:学习愉快~

0
heixin_慕工程8071827
h 。。。能不能麻烦你看清楚我的问题,我肯定是把无参构造器去掉会报错我才问的,不要一直回答我官话,套话行不行,能不能去试一下,正面回答我的问题,我真的怀疑这是慕课开发的机器人
h019-06-07
共1条回复

好帮手慕阿满

2019-06-05

同学你好,当定义了有参构造后,将不再提供默认的无参构造方法,当需要定义一个不带参数的对象时,没有无参构造方法就会报错。所以建议实体类中写有参构造时,添加一下无参构造。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0
heixin_慕工程8071827
h 我定义有参构造器进行传参,为什么还需要无参构造器,什么时候调用了无参构造器,是怎么调用的呢,能理解我的意思吗
h019-06-05
共1条回复

0 学习 · 4317 问题

查看课程