初识 Spring(18)---(SpringMVC实战--构建学生管理系统(08))

56 篇文章 1 订阅
47 篇文章 1 订阅

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);
	}

}

输出:点击 课程管理 --进入课程管理页面--点击 添加 ---进入添加页面---输入信息--点击提交---信息保存至数据库

问题是,数据库与页面没有进行绑定,页面是写死的,没办法从数据库获取并展示信息,继续修改代码

绑定数据库,使数据库中的信息显示在页面上

修改接口 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>

输出:点击 课程管理 --进入课程管理页面--保存至数据库的信息已添加到页面

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值