mybatis多参数入参

mybatis多参数入参

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

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

登陆购买课程后可参与讨论,去登陆

4回答
好帮手慕阿莹 2019-06-10 15:17:37

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

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

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

http://img1.sycdn.imooc.com//climg/5cfe03470001971711200447.jpg

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

http://img1.sycdn.imooc.com//climg/5cfe032000016b7117950072.jpg

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

http://img1.sycdn.imooc.com//climg/5cfe03640001c14a10460413.jpg

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

http://img1.sycdn.imooc.com//climg/5cfe0391000151e205910161.jpg

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

http://img1.sycdn.imooc.com//climg/5cfe03e300015cc312770151.jpg

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

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


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


好帮手慕柯南 2019-06-07 12:06:56

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

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

  • 讲真,有参构造器也可以创建实例对象。。而且照你这么说,同一方法中,无参构造器创建实例对象,有参构造器负责参数注入,你觉得这个讲法合理吗,这不是多此一举,不好意思,这是我的理解,我不太想看源码
    2019-06-10 09:38:39
好帮手慕阿满 2019-06-06 10:09:05

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

祝:学习愉快~

  • 。。。能不能麻烦你看清楚我的问题,我肯定是把无参构造器去掉会报错我才问的,不要一直回答我官话,套话行不行,能不能去试一下,正面回答我的问题,我真的怀疑这是慕课开发的机器人
    2019-06-07 10:31:33
好帮手慕阿满 2019-06-05 19:16:47

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

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

  • 我定义有参构造器进行传参,为什么还需要无参构造器,什么时候调用了无参构造器,是怎么调用的呢,能理解我的意思吗
    2019-06-05 20:26:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师