SpringMVC实战--构建学生管理系统(08)
首页部分成绩管理页面(查询/添加功能)制作(在上篇博客基础上继续)
(源代码见仓库:https://gitee.com/jianghao233/course)
新建 courseManger.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/css/common.css"/>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/css/admin-common.css"/>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/css/admin-course.css"/>
<script src="${pageContext.request.contextPath}/static/js/jquery.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="class-title">
课程列表
</div>
<div id="add-div">
<form action="${pageContext.request.contextPath}/course/showAdd" method="post">
<input type="submit" value="添加" />
</form>
</div>
<table cellspacing="0">
<tr>
<th>课程ID</th>
<th>课程名称</th>
<th>操作</th>
</tr>
<tr>
<td>1</td>
<td>java</td>
<td>
<a href="">编辑</a>
<a href="">删除</a>
</td>
</tr>
<tr>
<td>2</td>
<td>PHP</td>
<td>
<a href="">编辑</a>
<a href="">删除</a>
</td>
</tr>
<tr>
<td>3</td>
<td>C++</td>
<td>
<a href="">编辑</a>
<a href="">删除</a>
</td>
</tr>
<tr>
<td>4</td>
<td>C#</td>
<td>
<a href="">编辑</a>
<a href="">删除</a>
</td>
</tr>
</table>
<div id="fenye">
<div class="page">
<
</div>
<div class="page">
1
</div>
<div class="page">
>
</div>
<div class="page">
4
</div>
<div class="page">
20
</div>
</div>
</body>
</html>
新建 CourseController.java
package com.neuedu.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.neuedu.po.TbCourse;
import com.neuedu.service.CourseService;
@Controller
@RequestMapping("/course")
public class CourseController {
@Autowired
private CourseService courseService;
@RequestMapping({"/","/list"})
public String list() {
//查询课程列表
return "admin/courseManager";
}
@RequestMapping("/showAdd")
public String showAdd() {
return "admin/courseAdd";
}
@RequestMapping("/save")
public String save(TbCourse tbCourse){
//调用service保存课程信息
courseService.save(tbCourse);
return "redirect:/course/";
}
}
修改 index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/css/admin_index.css"/>
</head>
<body>
<div id="header">
</div>
<div id="left">
<ul id="nav">
<li><a href="${pageContext.request.contextPath}/class/list" target="content">班级管理</a></li>
<li><a href="${pageContext.request.contextPath}/student/" target="content">学生管理</a></li>
<li><a href="${pageContext.request.contextPath}/course/" target="content">课程管理</a></li> //修改代码
<li><a href="scoreInManager.html" target="content">成绩录入</a></li>
</ul>
</div>
<div id="right">
<iframe id="iframe" name="content" src="studentManager.jsp" width="100%" height="700px"></iframe>
</div>
</body>
</html>
这节功能中的 添加 页面单独写 新建:courseAdd.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>课程添加</title>
</head>
<body>
<div id="form-div">
<form action="${pageContext.request.contextPath}/course/save" method="post">
课程名称:<input type="text" name="coursename"/><br />
课程学时:<input type="text" name="hour"/><br />
课程学分:<input type="text" name="score"/><br />
<input type="submit" value="提交" />
</form>
</div>
</body>
</html>
新建接口 TbCourseMapper.java
package com.neuedu.mapper;
import com.neuedu.po.TbCourse;
public interface TbCourseMapper {
int deleteByPrimaryKey(Integer courseid);
int insert(TbCourse record);
int insertSelective(TbCourse record);
TbCourse selectByPrimaryKey(Integer courseid);
int updateByPrimaryKeySelective(TbCourse record);
int updateByPrimaryKey(TbCourse record);
}
配置文件 TbCourseMapper.xml
<?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="com.neuedu.mapper.TbCourseMapper" >
<resultMap id="BaseResultMap" type="com.neuedu.po.TbCourse" >
<id column="courseid" property="courseid" jdbcType="INTEGER" />
<result column="coursename" property="coursename" jdbcType="VARCHAR" />
<result column="hour" property="hour" jdbcType="INTEGER" />
<result column="score" property="score" jdbcType="DOUBLE" />
<result column="picurl" property="picurl" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
courseid, coursename, hour, score, picurl
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from tb_course
where courseid = #{courseid,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from tb_course
where courseid = #{courseid,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.neuedu.po.TbCourse" >
insert into tb_course (courseid, coursename, hour,
score, picurl)
values (#{courseid,jdbcType=INTEGER}, #{coursename,jdbcType=VARCHAR}, #{hour,jdbcType=INTEGER},
#{score,jdbcType=DOUBLE}, #{picurl,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.neuedu.po.TbCourse" >
insert into tb_course
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="courseid != null" >
courseid,
</if>
<if test="coursename != null" >
coursename,
</if>
<if test="hour != null" >
hour,
</if>
<if test="score != null" >
score,
</if>
<if test="picurl != null" >
picurl,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="courseid != null" >
#{courseid,jdbcType=INTEGER},
</if>
<if test="coursename != null" >
#{coursename,jdbcType=VARCHAR},
</if>
<if test="hour != null" >
#{hour,jdbcType=INTEGER},
</if>
<if test="score != null" >
#{score,jdbcType=DOUBLE},
</if>
<if test="picurl != null" >
#{picurl,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.neuedu.po.TbCourse" >
update tb_course
<set >
<if test="coursename != null" >
coursename = #{coursename,jdbcType=VARCHAR},
</if>
<if test="hour != null" >
hour = #{hour,jdbcType=INTEGER},
</if>
<if test="score != null" >
score = #{score,jdbcType=DOUBLE},
</if>
<if test="picurl != null" >
picurl = #{picurl,jdbcType=VARCHAR},
</if>
</set>
where courseid = #{courseid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.neuedu.po.TbCourse" >
update tb_course
set coursename = #{coursename,jdbcType=VARCHAR},
hour = #{hour,jdbcType=INTEGER},
score = #{score,jdbcType=DOUBLE},
picurl = #{picurl,jdbcType=VARCHAR}
where courseid = #{courseid,jdbcType=INTEGER}
</update>
</mapper>
新建接口 CourseService.java
package com.neuedu.service;
import com.neuedu.po.TbCourse;
public interface CourseService {
void save(TbCourse tbCourse);
}
配置文件 CourseServiceImpl.java
package com.neuedu.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.neuedu.mapper.TbCourseMapper;
import com.neuedu.po.TbCourse;
import com.neuedu.service.CourseService;
@Service
public class CourseServiceImpl implements CourseService {
@Autowired
private TbCourseMapper courseMapper;
@Override
public void save(TbCourse tbCourse) {
courseMapper.insertSelective(tbCourse);
}
}
输出:点击 课程管理 --进入课程管理页面--点击 添加 ---进入添加页面---输入信息--点击提交---信息保存至数据库
扫描二维码关注公众号,回复:
3072910 查看本文章
问题是,数据库与页面没有进行绑定,页面是写死的,没办法从数据库获取并展示信息,继续修改代码
绑定数据库,使数据库中的信息显示在页面上
修改接口 TbCourseMapper.java
package com.neuedu.mapper;
import java.util.List;
import com.neuedu.po.TbCourse;
public interface TbCourseMapper {
int deleteByPrim aryKey(Integer courseid);
int insert(TbCourse record);
int insertSelective(TbCourse record);
TbCourse selectByPrimaryKey(Integer courseid);
int updateByPrimaryKeySelective(TbCourse record);
int updateByPrimaryKey(TbCourse record);
public List<TbCourse> getList(); //新增代码
}
修改配置文件 TbCourseMapper.xml
<?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="com.neuedu.mapper.TbCourseMapper" >
<resultMap id="BaseResultMap" type="com.neuedu.po.TbCourse" >
<id column="courseid" property="courseid" jdbcType="INTEGER" />
<result column="coursename" property="coursename" jdbcType="VARCHAR" />
<result column="hour" property="hour" jdbcType="INTEGER" />
<result column="score" property="score" jdbcType="DOUBLE" />
<result column="picurl" property="picurl" jdbcType="VARCHAR" />
</resultMap>
<sql id="Base_Column_List" >
courseid, coursename, hour, score, picurl
</sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
from tb_course
where courseid = #{courseid,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
delete from tb_course
where courseid = #{courseid,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.neuedu.po.TbCourse" >
insert into tb_course (courseid, coursename, hour,
score, picurl)
values (#{courseid,jdbcType=INTEGER}, #{coursename,jdbcType=VARCHAR}, #{hour,jdbcType=INTEGER},
#{score,jdbcType=DOUBLE}, #{picurl,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.neuedu.po.TbCourse" >
insert into tb_course
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="courseid != null" >
courseid,
</if>
<if test="coursename != null" >
coursename,
</if>
<if test="hour != null" >
hour,
</if>
<if test="score != null" >
score,
</if>
<if test="picurl != null" >
picurl,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="courseid != null" >
#{courseid,jdbcType=INTEGER},
</if>
<if test="coursename != null" >
#{coursename,jdbcType=VARCHAR},
</if>
<if test="hour != null" >
#{hour,jdbcType=INTEGER},
</if>
<if test="score != null" >
#{score,jdbcType=DOUBLE},
</if>
<if test="picurl != null" >
#{picurl,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.neuedu.po.TbCourse" >
update tb_course
<set >
<if test="coursename != null" >
coursename = #{coursename,jdbcType=VARCHAR},
</if>
<if test="hour != null" >
hour = #{hour,jdbcType=INTEGER},
</if>
<if test="score != null" >
score = #{score,jdbcType=DOUBLE},
</if>
<if test="picurl != null" >
picurl = #{picurl,jdbcType=VARCHAR},
</if>
</set>
where courseid = #{courseid,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.neuedu.po.TbCourse" >
update tb_course
set coursename = #{coursename,jdbcType=VARCHAR},
hour = #{hour,jdbcType=INTEGER},
score = #{score,jdbcType=DOUBLE},
picurl = #{picurl,jdbcType=VARCHAR}
where courseid = #{courseid,jdbcType=INTEGER}
</update>
<select id="getList" resultType="TbCourse"> //新增代码
select * from tb_course
</select> //新增代码
</mapper>
修改接口 CourseService.java
package com.neuedu.service;
import java.util.List;
import com.neuedu.po.TbCourse;
public interface CourseService {
void save(TbCourse tbCourse);
List<TbCourse> getList(); //新增代码
}
修改配置文件 CourseServiceImpl.java
package com.neuedu.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.neuedu.mapper.TbCourseMapper;
import com.neuedu.po.TbCourse;
import com.neuedu.service.CourseService;
@Service
public class CourseServiceImpl implements CourseService {
@Autowired
private TbCourseMapper courseMapper;
@Override
public void save(TbCourse tbCourse) {
courseMapper.insertSelective(tbCourse);
}
@Override //新增代码
public List<TbCourse> getList() {
return courseMapper.getList();
} //新增代码
}
修改 CourseController.java
package com.neuedu.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.neuedu.po.TbCourse;
import com.neuedu.service.CourseService;
@Controller
@RequestMapping("/course")
public class CourseController {
@Autowired
private CourseService courseService;
@RequestMapping({"/","/list"}) //新增代码
public String list(Model model) {
//查询课程列表
List<TbCourse> list = courseService.getList();
model.addAttribute("list",list); //新增代码
return "admin/courseManager";
}
@RequestMapping("/showAdd")
public String showAdd() {
return "admin/courseAdd";
}
@RequestMapping("/save")
public String save(TbCourse tbCourse){
//调用service保存课程信息
courseService.save(tbCourse);
return "redirect:/course/";
}
}
修改 courseManager.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/css/common.css"/>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/css/admin-common.css"/>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/static/css/admin-course.css"/>
<script src="${pageContext.request.contextPath}/static/js/jquery.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="class-title">
课程列表
</div>
<div id="add-div">
<form action="${pageContext.request.contextPath}/course/showAdd" method="post">
<input type="submit" value="添加" />
</form>
</div>
<table cellspacing="0">
<tr>
<th>课程ID</th>
<th>课程名称</th>
<th>课程学时</th> //新增代码
<th>课程学分</th>
<th>操作</th>
</tr>
<c:forEach items="${list}" var="c"> //新增代码
<tr>
<td>${c.courseid }</td>
<td>${c.coursename }</td>
<td>${c.hour }</td>
<td>${c.score }</td>
<td>
<a href="">编辑</a>
<a href="">删除</a>
</td>
</tr>
</c:forEach> //新增代码
</table>
<div id="fenye">
<div class="page">
<
</div>
<div class="page">
1
</div>
<div class="page">
>
</div>
<div class="page">
4
</div>
<div class="page">
20
</div>
</div>
</body>
</html>
输出:点击 课程管理 --进入课程管理页面--保存至数据库的信息已添加到页面