major为null是什么原因?
studentsMapper.xml语句如下:
<select id="findStudents" resultMap="forStudent">
select * from student
<where>
<if test="id!=null">
id=#{id}
</if>
<if test="reg_no!=null">
AND reg_no=#{reg_no}
</if>
<if test="name!=null">
AND name=#{name}
</if>
<if test="sex!=null">
AND sex=#{sex}
</if>
<if test="age!=null">
AND age=#{age}
</if>
<if test="grade!=null">
AND grade=#{grade}
</if>
<if test="major!=null">
AND major=#{major}
</if>
</where>
</select>
<resultMap id="forStudent" type="com.pan.entity.Student">
<id column="id" property="id"></id>
<collection property="courses" column="major" ofType="com.pan.entity.Course" select="getCourse"></collection>
</resultMap>
<select id="getCourse" resultType="com.pan.entity.Course">
select * from course where major_name=#{major}
</select>
页面不显示专业的内容:
控制台打印major=null
Student{id=3, reg_no=20171203, name='飞流', sex='女', age=18, grade='2016', major='null', courses=[Course{id=1, courseid='C1011', major_name='哲学系', courname='哲学概论', courtime=0.0, courteacher='黄玉生'}, Course{id=2, courseid='C1012', major_name='哲学系', courname='科学技术哲学', courtime=0.0, courteacher='吴彤'}, Course{id=3, courseid='C1013', major_name='哲学系', courname='伦理学', courtime=0.0, courteacher='方俊人'}, Course{id=4, courseid='C1014', major_name='哲学系', courname='宗教学', courtime=0.0, courteacher='圣凯'}, Course{id=5, courseid='C1015', major_name='哲学系', courname='美学', courtime=0.0, courteacher='肖鹰'}, Course{id=6, courseid='C1016', major_name='哲学系', courname='心理学', courtime=0.0, courteacher='陈洁'}, Course{id=7, courseid='C1017', major_name='哲学系', courname='逻辑学', courtime=0.0, courteacher='文明'}]}
但是student表中是有内容的
在不增加collection标签时查询页面显示是正常的,有专业的内容
3 20171203 飞流 18 女 2016 哲学系 查看 修改 删除
4 20171204 肖景恒 23 男 2006 整治系 查看 修改 删除
估计是collection标签的使用不正确,请详细解释一下collection标签里面的各属性该怎么用,课程中解释不到位,没弄懂。
正在回答
同学你好,建议同学在resultMap中添加result映射,将Student类中的major和数据库中major对应,如:
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星