老师帮我看一下代码,为什么获取不到classno
classes实体类
package com.imooc.mybatistest.entity; import java.util.List; public class Classes { private Integer id; private String classno; private String name; private String major; List<Student> students; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getClassno() { return classno; } public void setClassno(String classno) { this.classno = classno; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public List<Student> getStudents() { return students; } public void setStudents(List<Student> students) { this.students = students; } }
student实体类
package com.imooc.mybatistest.entity; public class Student { private Integer id; private Integer regNo; private String name; private String sex; private Integer age; private String grade; private String major; private String classno; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getRegNo() { return regNo; } public void setRegNo(Integer regNo) { this.regNo = regNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getGrade() { return grade; } public void setGrade(String grade) { this.grade = grade; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public String getClassno() { return classno; } public void setClassno(String classno) { this.classno = classno; } @Override public String toString() { return "Student{" + "id=" + id + ", regNo=" + regNo + ", name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + ", grade='" + grade + '\'' + ", major='" + major + '\'' + ", classno='" + classno + '\'' + '}'; } }
classes.mapper
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="classes"> <resultMap id="rmClasses" type="com.imooc.mybatistest.entity.Classes"> <id property="id" column="id"></id> <collection property="students" select="student.selectById" column="classno"></collection> </resultMap> <select id="selectOneToMany" resultMap="rmClasses"> select * from classes </select> </mapper>
student.mapper
<select id="selectById" parameterType="String" resultType="com.imooc.mybatistest.entity.Student"> select * from student where classno =#{value} </select>
测试代码
@Test public void testSelectOneToMany(){ SqlSession sqlSession = null; try { sqlSession = MybatisUtils.openSession(); List<Classes> classes= sqlSession.selectList("classes.selectOneToMany"); for(Classes classes1:classes){ System.out.println(classes1.getClassno()+":"+classes1.getStudents().toString()); } }catch (Exception e){ throw e; }finally { sqlSession.close(); } }
运行结果
20
收起
正在回答
1回答
同学你好,通常这个错误是因为数据库中字段名与实体类中属性名不一致导致的(无法使用驼峰转换),建议同学检查一下字段命名。如果没有检查出问题,建议同学提供一下数据库表的建表语句。
祝学习愉快~
Java工程师 2024版
- 参与学习 2030 人
- 提交作业 1352 份
- 解答问题 1231 个
2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星