zoukankan      html  css  js  c++  java
  • mybatis实体为什么要提供一个无参的构造函数

    提问:Mybatis查询结果映射到实体类的时候,实体类为什么必须有一个空的构造函数?

    类中如果没有构造函数,隐藏是无参构造函数,方便实体类需要通过Mybatis进行动态反射生成。
    如果实体类中一旦声明构造函数,无参构造函数则不存在。
    select * from table_name 如果“*”表示的字段个数与设置的有参构造函数不同,mybatis无法进动态反射生成报错

    可以建一个无参孝构函数,可解决此类问题,

    或者创建“*”表示字段与构造函数字段数一样多。



    答:Mybatis框架会调用这个默认构造方法来构造实例对象,即实体类需要通过Mybatis进行动态反射生成。

    反射的Class.forName("className").newInstance();需要对应的类提供一个无参构造函数。

    备注:

    如果在类中没有提供任何构造方法,虚拟机会自动提供默认构造方法(无参构造器),但是如果提供了其他有参数的构造方法的话,虚拟机就不再为提供默认构造方法,所以默认的构造方法不是必须的,只在有多个构造方法时才是必须的显式声明的。
    ————————————————
    版权声明:本文为CSDN博主「北辰之北灬」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/pp_fzp/article/details/103459500

    做产品的程序,才是好的程序员!
  • 相关阅读:
    [转]用汇编实现原子操作
    贪心算法练习集
    链表练习题集
    STL测试3)优先级队列实现二叉堆
    STL测试2)计算器简单实现
    STL测试
    Java学习笔记(三)
    【JAVA】学习笔记(2)
    【Java】学习笔记(1)
    【机器学习】异常检测算法(I)
  • 原文地址:https://www.cnblogs.com/asplover/p/12376550.html
Copyright © 2011-2022 走看看