SQL返回多个不同类型的字段,用什么接收以及怎么使用JSP遍历

涉及到的数据库表如下图:
在这里插入图片描述

SQL语句:
查询课程和课程对应的老师信息:

	select cname,ccredit,ctype,tname,tsex,tfaculty
    from course_selection.course
    LEFT JOIN course_selection.teacher ON course.course_tid = teacher.tid

可以使用List<Map<String, Object>>接收。
String是key,存放我们需要查询的字段(cname,ccredit,ctype,tname,tsex,tfaculty)
Object是value,存放我们查询的字段所对应的值

例如:cname所对应的值为:计算机网络
则在jsp中可以根据XXX.get("cname")来获取该key(cname)的值(计算机网络)

示例:
mapper接口:

List<Map<String, Object>> studentQueryAllCourse();

mapper对应的xml文件:

	<select id="studentQueryAllCourse" resultType="map">
        select cid,cname,ccredit,ctype,tname,tsex,tfaculty
        from course_selection.course
        LEFT JOIN course_selection.teacher ON course.course_tid = teacher.tid
    </select>

Servise层省略。

Controller层:

List<Map<String, Object>> mapList = courseService.studentQueryAllCourse();
model.addAttribute("mapList", mapList);
return "course/pickCourseInfo";

pickCourseInfo.jsp文件遍历部分代码:

	<thead>
	  	<tr>
	      <th>课程名称</th>
	      <th>总学分</th>
	      <th>课程类型</th>
	      <th>授课教师</th>
	      <th>教师性别</th>
	      <th>所属学院</th>
	  	</tr>
	</thead>
                
    <tbody>
    <c:forEach var="list" items="${mapList}">
        <tr>
            <td>${list.get("cname")}</td>
            <td>${list.get("ccredit")}</td>
            <td>${list.get("ctype")}</td>
            <td>${list.get("tname")}</td>
            <td>${list.get("tsex")}</td>
            <td>${list.get("tfaculty")}</td>
        <tr/>
    </c:forEach>
    </tbody>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值