//后台报错
Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'student_id' in 'class com.example.entity.StudentCourse'
根据AI解决:
根据报错信息显示,MyBatis 在映射结果集时无法找到名为 'student_id' 的属性的 getter 方法。这是因为在 StudentCourse
类中没有名为 'student_id' 的属性。
为了解决这个问题,您可以通过以下方式进行调整:
-
确保
StudentCourse
类中有与数据库表字段对应的属性,并提供相应的 getter 和 setter 方法。 -
在 MyBatis 的 SQL 语句中使用与
StudentCourse
类中属性相匹配的占位符。(我的是这个问题)
解决:StudentCourse
类中有 studentId
和 courseId
这两个属性,您可以按照以下方式修改相应的代码:
@Select("select * from student_course where student_id = #{studentId} and course_id = #{courseId}") StudentCourse selectByCondition(@Param("studentId") Long studentId, @Param("courseId") Long courseId);
通过以上修改,确保 StudentCourse
类中有 studentId
和 courseId
属性,并将相应的 getter 和 setter 方法提供给这些属性。同时,确保在 MyBatis 的 SQL 语句中使用与 StudentCourse
类属性相匹配的占位符,这样就能正确映射了。
修改完以上代码会发现@Param爆红,不用慌ctrl+insert就OK了,运行后发现还是报错,在代码爆红的地方继续ctrl+insert就可以了