There is no getter for property named 'userName' in 'class com.sun.proxy.$Proxy86'
时间: 2024-03-26 22:31:18 浏览: 101
根据提供的引用内容,错误的写法中使用了错误的属性名'userName',而正确的写法中使用了正确的属性名'user_name'。因此,错误的写法中没有名为'userName'的属性的getter方法,导致出现了"There is no getter for property named 'userName' in 'class com.sun.proxy.$Proxy86'"的错误。
以下是一个示例,展示了如何在Java类中添加属性和getter方法:
```java
public class MyClass {
private String user_name;
public String getUser_name() {
return user_name;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
}
```
在上述示例中,我们定义了一个名为'user_name'的私有属性,并为其提供了相应的getter和setter方法。这样,就可以在其他地方使用该属性。
相关问题
rg.apache.ibatis.reflection.ReflectionException: There is no getter for property named h in class jdk.proxy2.$Proxy168
这个错误是因为 MyBatis 在解析实体类时,发现该实体类中没有 h 这个属性的 getter 方法。而根据错误信息看,你使用的是 JDK 动态代理生成的代理类。
这通常是因为你在使用 MyBatis 的时候,将返回值类型设置为接口类型,而不是具体的实体类类型。MyBatis 在这种情况下,会使用 JDK 动态代理生成一个代理类来实现这个接口。
解决这个问题的办法是:
1. 在实体类中添加一个名为 h 的属性,并提供对应的 getter 方法。
2. 如果你不需要 h 这个属性,可以将 SQL 语句中对应的列名改为实体类中已有的属性名。
3. 将返回值类型设置为实体类类型,而不是接口类型。
你可以根据具体情况选择其中的一种解决方案。
Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'h' in 'class jdk.proxy2.$Proxy140'
这个错误一般是因为 MyBatis 在映射查询结果时无法找到对应的getter方法。请检查对应的实体类中是否有名为'h'的属性,以及是否有对应的getter方法。如果没有,可以添加对应的属性和getter方法,或者在 SQL 映射文件中使用别名来解决这个问题。如果已经有对应的属性和getter方法,可能需要检查一下是否正确地配置了 MyBatis 映射文件。
阅读全文