mybatis参数有list和实体类_mybatis :零参构造器在resultMap中的作用

resultMap ,association collection 分别根据 type javaType ofType指定的类型来创建相应的实例对象,创建实例对象是根据实体类的零参构造方法。所以说,要使用resultMap,association collection 必须要对应的实体类添加零参构造方法。否则,就会出现错误。

具体错误1(resultMap对应的type实体类没有无参构造器):

cabb4a2980ee7044806cf6d953bada54.png

无参构造注释了

错误 :

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating class cn.edu.nuc.pojo.User with invalid types (String,String,Role,List) or values (admin,admin,1,1). Cause: java.lang.IllegalArgumentException: argument type mismatch
	org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)

解决:打开无参构造器的注释就可以了

具体错误2(association javaType对应的实体类没有无参构造方法)

错误:

Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in cn.edu.nuc.pojo.Role matching [java.lang.String, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String, java.lang.String, java.lang.Integer]

解决:为role添加实体类无参构造方法即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值