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

    做产品的程序,才是好的程序员!
  • 相关阅读:
    Java的几种常用设计模式
    面向切面编程AOP
    面向过程编程、面向对象编程
    Java基础之集合与泛型
    Spring mvc中自定义拦截器
    Hibernate框架hibernate.cfg.xml配置文件,配置自动生成表结构策略。
    Notepad++打开xml文件显示crlf的问题
    java框架
    潜龙博客地址
    联通
  • 原文地址:https://www.cnblogs.com/asplover/p/12376550.html
Copyright © 2011-2022 走看看