大海话语 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 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题