用于学生信息管理系统中辅导员查看学生详情页的展示功能。
先看最终效果
StudentDaoMapper.xml
主要是编写sql语句。用mybatis完成数据库表和实体类的映射。
<mapper namespace="com.graduation.practice.dao.StudentDao">
<select id="findStudentByStudentId" parameterType="Student" resultMap="studentMap">
SELECT student.*,classes.id AS classes_id,classes.name AS classes_name ,
discipline.id AS discipline_id,discipline.name AS discipline_name,
college.id AS college_id,college.name AS college_name
FROM student,classes,discipline,college
WHERE studentId = #{studentId} AND student.classId = classes.id AND classes.disciplineId = discipline.id AND discipline.collegeId = college.id
</select>
<!-- 多对一关系 -->
<resultMap type="Student" id="studentMap">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="studentId" property="studentId" />
<result column="gender" property="gender" />
<result column="age" property="age" />
<result column="address" property="address" />
<result column="email" property="email" />
<result column="phoneNumber" property="phoneNumber" />
<result column="classId" property="classId" />
<result column="photoUrl" property="photoUrl" />
<result column="date" property="date"/>
<association property="classes" javaType="Classes">
<id column="classes_id" property="id" />
<result column="classes_name" property="name" />
</association>
<association property="discipline" javaType="Discipline">
<id column="discipline_id" property="id" />
<result column="discipline_name" property="name" />
</association>
<association property="college" javaType="College">
<id column="college_id" property="id" />
<result column="college_name" property="name" />
</association>
</resultMap>
CounselorController.java
在前端页面中点击详情按钮 指定路由为"/studentProfile"
@GetMapping("/studentProfile")
public String toProfile(HttpServletRequest request, Model model,HttpSession session){
String studentId = request.getParameter("studentId");
Student student = studentService.findStudentByStudentId(new Student(studentId));
model.addAttribute("student", student);
Object scoreShow = studentService.findScoreByStudent04(student);
model.addAttribute("score_list", scoreShow);
//model.addAttribute("courseNum", studentService.getCourseNumBystudentId(studentId));
return "/counselor/profile-student";
}
profile-student.HTML
<!-- 学籍信息 -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">学籍信息</h3>
</div>
<div class="box-body box-profile">
<ul class="list-group list-group-unbordered">
<li class="list-group-item">
<b>学工号</b> <a class="pull-right" th:text="${student.studentId}"></a>
</li>
<li class="list-group-item">
<b>姓名</b> <a class="pull-right" th:text="${student.name}"></a>
</li>
<li class="list-group-item">
<b>学院</b> <a class="pull-right" th:text="${student.college.name}"></a>
</li>
<li class="list-group-item">
<b>专业</b> <a class="pull-right" th:text="${student.discipline.name}"></a>
</li>
<li class="list-group-item">
<b>班级</b> <a class="pull-right" th:text="${student.classes.name}"></a>
</li>
<li class="list-group-item">
<b>入学日期</b> <a class="pull-right" th:text="${student.date}"></a>
</li>
<!-- <li class="list-group-item">-->
<!-- <b>Following</b> <a class="pull-right">543</a>-->
<!-- </li>-->
<!-- <li class="list-group-item">-->
<!-- <b>Friends</b> <a class="pull-right">13,287</a>-->
<!-- </li>-->
</ul>
<!-- <a href="#" class="btn btn-primary btn-block"><b>Follow</b></a>-->
</div>
<!-- /.box-body -->
</div>