There is no getter for property named 'distinct' in 'class tk.mybatis.mapper.entity.Example$Criteria'
时间: 2023-11-28 07:35:38 浏览: 187
根据提供的引用内容,所报的异常 org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'distinct' in 'class tk.mybatis.mapper.entity.Example$Criteria' 是由于在类 tk.mybatis.mapper.entity.Example$Criteria 中没有名为 'distinct' 的属性的 getter 方法。在您的代码中,您正在使用通用mapper接口的 selectByExample 方法,并且传递了一个 Example 类型的参数。在这个例子中,似乎尝试访问一个名为 'distinct' 的属性,但是在 tk.mybatis.mapper.entity.Example$Criteria 类中找不到该属性的 getter 方法。
对于这个问题,有两种解决方案。一种是修改 selectByExample 方法传递的参数类型,将其改为 Example 类型参数。在您的代码中,您可以使用 Example 类的构造函数来创建一个 Example 对象,并将其作为参数传递给 selectByExample 方法。另一种方案是在原有的代码基础上添加一个条件,使用 Example.Criteria 对象的 andEqualTo 方法来设置条件。在您的代码中,您可以使用 Example.Criteria 对象的 andEqualTo 方法来设置一个名为 'domain' 的条件,值为传入的 domain 参数。
解决方案1:
```java
public TCmsSite findByDomain(String domain) {
TCmsSite site = new TCmsSite();
Example example = new Example(TCmsSite.class);
List<TCmsSite> tCmsSites = siteMapper.selectByExample(example);
if (tCmsSites.size() > 0) {
site = tCmsSites.get(0);
}
return site;
}
```
解决方案2:
```java
public TCmsSite findByDomain(String domain) {
TCmsSite site = new TCmsSite();
Example example = new Example(TCmsSite.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("domain", domain);
List<TCmsSite> tCmsSites = siteMapper.selectByExample(example);
if (tCmsSites.size() > 0) {
site = tCmsSites.get(0);
}
return site;
}
```
阅读全文