大海话语 2021-10-31 10:51 采纳率: 87.6%
浏览 21
已结题

查询数据库数据出问题

我用名称精确查询数据,结果显示

2021-10-31 10:42:28.990 ERROR 16368 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: No constructor found in com.hnsaturn.input005.entity.Song matching [java.lang.Integer, [B, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.time.LocalDateTime, java.time.LocalDateTime]] with root cause

org.apache.ibatis.executor.ExecutorException: No constructor found in com.hnsaturn.input005.entity.Song matching [java.lang.Integer, [B, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.time.LocalDateTime, java.time.LocalDateTime]


我的实体类中是


@Data
@Builder
@EntityScan
public class Song {
    private int id;
    private String singleName;
    private String singer;
    private String lyricist;
    private String songwriter;
    private String arranger;
    private String singleContent;
    private String album;
    private String albumContent;
    private String musicStyle;
    private String link;
    private String lyric;
    private String cover;
    private Date createTime;
    private Date updateTime;

//    public Song(){}
}

报错后,写上 无参,但报错,可能是已经生成了。

为什么我去掉@Builder 就可以了。 自己生成了 get set + tostring

  • 写回答

1条回答 默认 最新

  • monkeydbo 2021-10-31 11:48
    关注

    错误信息

    控制台报错信息:No constructor found in com.hnsaturn.input005.entity.Song

    mybatis 抛出的错误

    意思是:你写的类 com.hnsaturn.input005.entity.Song 里面没有构造器(构造函数)

    错误定位

    使用了 lombok 插件,构造器应该会自动加上,但是结构缺报错说没有构造器,所以问题肯定出在 lombok 相关的注解 @Builder @Data

    原因:
    这两个注解同时使用时会导致无法添加无参构造方法。

    单独使用@Data注解,会生成无参数构造方法。

    单独使用@Builder注解,发现生成了全属性的构造方法。

    办法

    // 同时使用两个注解时 添加无参构造器,并让 lombok 无感知
    @Tolerate
      public  Song() {}
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏

报告相同问题?

问题事件

  • 系统已结题 11月12日
  • 已采纳回答 11月4日
  • 修改了问题 10月31日
  • 创建了问题 10月31日

悬赏问题

  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教