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

    做产品的程序,才是好的程序员!
  • 相关阅读:
    Netbackup 命令之bplist
    定时任务crond生产实战经验
    数据分析的应用
    数据分析的三个常见误区
    Linux文件系统目录结构
    Linux系统介绍
    两款傻瓜化小白爬虫工具推荐
    时间管理利器之一:RescueTime 自动记录时间
    Lambda 表达式
    IDEA 配置 不需要提交的文件 保证git代码干净
  • 原文地址:https://www.cnblogs.com/asplover/p/12376550.html
Copyright © 2011-2022 走看看