【Java异常】使用通用Mapper ,报There is no getter for property named ‘distinct‘ in ‘class 错

本文目录

一、报错信息

二、出错原因

三、解决方案

四、distinct属性


一、报错信息

Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'distinct' in 'class com.uiotsoft.subsite.mybatis.model.TCmsSite'

【Java异常】使用通用Mapper ,报There is no getter for property named ‘distinct‘ in ‘class 错_第1张图片

二、出错原因

selectByExample()方法传递的参数错误,应该传example类型,而不是实体类。(开源中国开发者们提供)

最近在项目中使用通用Mapper的时候,有一个方法mapper.selectByExample() ,我当时传入的参数类型为T (泛型),就报了这个错。具体如代码所示:selectByExample()方法里面传递的是具体的实体类:

public TCmsSite findByDomain(String domain) {

    TCmsSite site = new TCmsSite();
    site.setDomain(domain);

    List tCmsSites = siteMapper.selectByExample(site);

    if (tCmsSites.size() > 0){
        site = tCmsSites.get(0);
    }

    return site;
}

三、解决方案

修改selectByExample()方法传递的参数类型,传入Example类型参数,对于我的项目而言,具体的代码修改方法如下:

public TCmsSite findByDomain(String domain) {

    TCmsSite site = new TCmsSite();
    site.setDomain(domain);

    Example example = new Example(site.getClass());
    List tCmsSites = siteMapper.selectByExample(example);

    if (tCmsSites.size() > 0){
        site = tCmsSites.get(0);
    }

    return site;
}

四、distinct属性

【Java异常】使用通用Mapper ,报There is no getter for property named ‘distinct‘ in ‘class 错_第2张图片

 

 

完结!

你可能感兴趣的:(后端相关,异常解决方案,Mybatis,后端,java,mybatis,通用mapper)