基于javaweb+mysql的ssm+maven学生成绩管理系统(java+jsp+maven+ssm+mysql)
运行环境
Java≥8、MySQL≥5.7、Tomcat≥8
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
学生成绩的增删改查管理
技术框架
JavaBean MVC JSP SSM(Spring SpringMVC MyBatis) Maven MySQL Bootstrap JavaScript
基于javaweb+mysql的SSM+Maven学生成绩管理系统(java+jsp+maven+ssm+mysql)
<script type="text/javascript">
//提交之前进行检查,如果return false,则不允许提交
function check() {
var name = document.getElementById("name").value;
var classid = document.getElementById("classid").value;
var teacher = document.getElementById("teacher").value;
var score = document.getElementById("score").value;
var subject = document.getElementById("subject").value;
if (name == "") {
alert("学生名不能为空!");
return false;
}
if (classid == "") {
alert("班级编号不能为空!");
return false;
}
if (teacher == "") {
alert("老师姓名不能为空!");
return false;
}
if (score == "" || !/^\d+(\.0*)?$/.test(score)) {
alert("成绩必须为数字");
return false;
}
if (subject == "") {
alert("学课不能为空!");
return false;
}
return true;
}
</script>
</body>
</html>
<?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.demo.mapper.StudentMapper">
<resultMap id="resultMapStudent" type="Student" >
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="classid" column="classid"/>
<result property="teacher" column="teacher"/>
<result property="score" column="score" />
<result property="subject" column="subject" />
</resultMap>
<mapper namespace="com.demo.mapper.StudentMapper">
<resultMap id="resultMapStudent" type="Student" >
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="classid" column="classid"/>
<result property="teacher" column="teacher"/>
<result property="score" column="score" />
<result property="subject" column="subject" />
</resultMap>
<select id="selectStudentAll" parameterType="ParamsStu" resultMap="resultMapStudent">
select * from student
<where>
<if test="name!=null and name!=''">
name like concat('%',#{name},'%')
</if>
<if test="classid!=null and classid!=''">
and classid like concat('%',#{classid},'%')
</if>
<if test="teacher!=null and teacher!=''">
and teacher like concat('%',#{teacher},'%')
</if>
<if test="scoreFrom!=null and scoreFrom!=''">
and score >= #{scoreFrom}
</if>
<if test="scoreTo!=null and scoreTo!=''">
and score <= #{scoreTo}
</if>
<if test="subject!=null and subject!=''">
and subject like concat('%',#{subject},'%')
</if>
</where>
</select>
<!--删除-->
<delete id="deleteStudent">
delete from student where id=#{id}
</delete>
<!--查询一条:为修改准备-->
<select id="updateStudentEdit" resultMap="resultMapStudent">
select * from student where id=#{id}
</select>
<!--修改-->
<update id="upadateStudent" parameterType="Student">
update student set
name=#{name},classid=#{classid},teacher=#{teacher},score=#{score},subject=#{subject}
where id=#{id}
</update>
<!--添加-->
<insert id="insertStudent" parameterType="Student">
insert into student(name,classid,teacher,score,subject)
values (#{name},#{classid},#{teacher},#{score},#{subject})
public void setTeacher(String teacher) {
this.teacher = teacher;
}
public Integer getScoreFrom() {
return scoreFrom;
}
public void setScoreFrom(Integer scoreFrom) {
this.scoreFrom = scoreFrom;
}
public Integer getScoreTo() {
return scoreTo;
}
public void setScoreTo(Integer scoreTo) {
this.scoreTo = scoreTo;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
@Override
public String toString() {
return "ParamsStu{" +
"pageNum=" + pageNum +
", pageSize=" + pageSize +
", name='" + name + '\'' +
", classid='" + classid + '\'' +
", teacher='" + teacher + '\'' +
", scoreFrom=" + scoreFrom +
", scoreTo=" + scoreTo +
", subject='" + subject + '\'' +
'}';
}
}
package com.demo.entity;
public class Student {
private Integer id;
private String name;
private String classid;
private String teacher;
private Integer score;
//执行添加,调用service添加方法-dao-持久化
studentService.insertStudent(student);
//添加完毕,重定向更新结果页面
return "redirect:/selectStudentAll";
}
}
package com.demo.util;
//分页工具类
public class ParamsStu {
private int pageNum; //当前页
private int pageSize = 5;//每页条数
// 条件查询
private String name;
private String classid;
private String teacher;
private Integer scoreFrom;
private Integer scoreTo;
private String subject;
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
", teacher='" + teacher + '\'' +
", scoreFrom=" + scoreFrom +
", scoreTo=" + scoreTo +
", subject='" + subject + '\'' +
'}';
}
}
package com.demo.entity;
public class Student {
private Integer id;
private String name;
private String classid;
private String teacher;
private Integer score;
private String subject;
public Student() {
}
public Student(Integer id, String name, String classid, String teacher, Integer score) {
this.id = id;
this.name = name;
this.classid = classid;
this.teacher = teacher;
this.score = score;
}
public Student(String name, String classid, String teacher, Integer score) {
this.name = name;
this.classid = classid;
this.teacher = teacher;
this.score = score;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.classid = classid;
this.teacher = teacher;
this.score = score;
}
public Student(String name, String classid, String teacher, Integer score) {
this.name = name;
this.classid = classid;
this.teacher = teacher;
this.score = score;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassid() {
return classid;
}
public void setClassid(String classid) {
this.classid = classid;
}
public String getTeacher() {
return teacher;
}
public void setTeacher(String teacher) {
</if>
<if test="classid!=null and classid!=''">
and classid like concat('%',#{classid},'%')
</if>
<if test="teacher!=null and teacher!=''">
and teacher like concat('%',#{teacher},'%')
</if>
<if test="scoreFrom!=null and scoreFrom!=''">
and score >= #{scoreFrom}
</if>
<if test="scoreTo!=null and scoreTo!=''">
and score <= #{scoreTo}
</if>
<if test="subject!=null and subject!=''">
and subject like concat('%',#{subject},'%')
</if>
</where>
</select>
<!--删除-->
<delete id="deleteStudent">
delete from student where id=#{id}
</delete>
<!--查询一条:为修改准备-->
<select id="updateStudentEdit" resultMap="resultMapStudent">
select * from student where id=#{id}
</select>
<!--修改-->
<update id="upadateStudent" parameterType="Student">
update student set
name=#{name},classid=#{classid},teacher=#{teacher},score=#{score},subject=#{subject}
where id=#{id}
</update>
<!--添加-->
<insert id="insertStudent" parameterType="Student">
insert into student(name,classid,teacher,score,subject)
values (#{name},#{classid},#{teacher},#{score},#{subject})
</insert>
</mapper>
<?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">
</if>
<if test="classid!=null and classid!=''">
and classid like concat('%',#{classid},'%')
</if>
<if test="teacher!=null and teacher!=''">
and teacher like concat('%',#{teacher},'%')
</if>
<if test="scoreFrom!=null and scoreFrom!=''">
and score >= #{scoreFrom}
</if>
<if test="scoreTo!=null and scoreTo!=''">
and score <= #{scoreTo}
</if>
<if test="subject!=null and subject!=''">
and subject like concat('%',#{subject},'%')
</if>
</where>
</select>
<!--删除-->
<delete id="deleteStudent">
delete from student where id=#{id}
</delete>
<!--查询一条:为修改准备-->
<select id="updateStudentEdit" resultMap="resultMapStudent">
select * from student where id=#{id}
</select>
<!--修改-->
<update id="upadateStudent" parameterType="Student">
update student set
name=#{name},classid=#{classid},teacher=#{teacher},score=#{score},subject=#{subject}
where id=#{id}
</update>
<!--添加-->
<insert id="insertStudent" parameterType="Student">
insert into student(name,classid,teacher,score,subject)
values (#{name},#{classid},#{teacher},#{score},#{subject})
</insert>
</mapper>
<?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.demo.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.demo.entity.User">
<result column="id" property="id"/>
<result column="username" property="username"/>
<result column="password" property="password"/>
}
public Integer getScoreFrom() {
return scoreFrom;
}
public void setScoreFrom(Integer scoreFrom) {
this.scoreFrom = scoreFrom;
}
public Integer getScoreTo() {
return scoreTo;
}
public void setScoreTo(Integer scoreTo) {
this.scoreTo = scoreTo;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
@Override
public String toString() {
return "ParamsStu{" +
"pageNum=" + pageNum +
", pageSize=" + pageSize +
", name='" + name + '\'' +
", classid='" + classid + '\'' +
", teacher='" + teacher + '\'' +
", scoreFrom=" + scoreFrom +
", scoreTo=" + scoreTo +
", subject='" + subject + '\'' +
'}';
}
}
package com.demo.entity;
public class Student {
private Integer id;
private String name;
private String classid;
values (#{name},#{classid},#{teacher},#{score},#{subject})
</insert>
</mapper>
<?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.demo.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.demo.entity.User">
<result column="id" property="id"/>
<result column="username" property="username"/>
<result column="password" property="password"/>
</resultMap>
<sql id="Base_Column_List">
`id`,`username`,`password`
</sql>
<!--列表-->
<select id="findAllSplit" parameterType="java.util.Map" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM `admin`
<where>
<if test="username != null">
`username` = #{username} AND
</if>
<if test="password != null">
`password` = #{password} AND
</if>
1=1
</where>
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--别名:分页信息-->
<typeAliases>
<typeAlias type="com.demo.util.ParamsStu" alias="ParamsStu"/>
</typeAliases>
<!--配置分页:合理化,数据库类型Oracle,Mysql-->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
//实现查询一条
Student student = studentService.updateStudentEdit(id);
//查询的数据放到域中
model.addAttribute("student", student);
return "edit";
}
//2,编辑页面完成后,提交 执行修改
@RequestMapping("/updateStudent")
public String upadateStudent(Student student) {
//实现修改
studentService.upadateStudent(student);
//修改完毕,重定向,更新结果页面
return "redirect:/selectStudentAll";
}
//添加:1、进入添加页面,编辑
@RequestMapping("/insertStudentEdit")
public String insertStudentEdit() {
//添加完毕,重定向更新结果页面
return "add";
}
//2、提交添加请求,实现
@RequestMapping("/insertStudent")
public String insertStudent(Student student) {
//执行添加,调用service添加方法-dao-持久化
studentService.insertStudent(student);
//添加完毕,重定向更新结果页面
return "redirect:/selectStudentAll";
}
}
package com.demo.util;
//分页工具类
public class ParamsStu {
private int pageNum; //当前页
private int pageSize = 5;//每页条数
// 条件查询
private String name;
private String classid;
private String teacher;
private Integer scoreFrom;
private Integer scoreTo;
private String subject;
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
@Override
public List<Student> selectStudentAll(ParamsStu params) {
if (params.getPageNum() == 0) {
params.setPageNum(1);
}
PageHelper.startPage(params.getPageNum(), params.getPageSize());
//pageNum当前页,pageSize 每页条数
return studentMapper.selectStudentAll(params);
}
@Override
public void deleteStudent(int id) {
studentMapper.deleteStudent(id);
}
@Override
public Student updateStudentEdit(int id) {
return studentMapper.updateStudentEdit(id);
}
@Override
public void upadateStudent(Student student) {
studentMapper.upadateStudent(student);
}
@Override
public void insertStudent(Student student) {
studentMapper.insertStudent(student);
}
}
package com.demo.service;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
package com.demo.mapper;
public interface StudentMapper {
//查询所有
public List<Student> selectStudentAll(ParamsStu params);
//根据id删除学生
void deleteStudent(int id);
//根据id查询学生,然后进入编辑页面 展示信息准备修改
Student updateStudentEdit(int id);
//修改编辑页面,提交执行修改
void upadateStudent(Student student);
//添加学生
void insertStudent(Student student);
}
package com.demo.service;
<a href="${pageContext.request.contextPath}/updateStudentEdit/${stu.id}"><input type="submit" class="btn btn-info" value="修改"></a></td>
</tr>
</c:forEach>
</table>
<%--分页--%>
<table align="center">
<tr>
<td><a href="javascript:toPage(1);"><button type="button" class="btn btn-default btn-sm">首页</button></a></td>
<td><a href="javascript:toPage(${pageInfo.pageNum-1});"><button type="button" class="btn btn-default btn-sm">上一页</button></a></td>
<td><a href="javascript:toPage(${pageInfo.pageNum+1});"><button type="button" class="btn btn-default btn-sm">下一页</button></a></td>
<td><a href="javascript:toPage(${pageInfo.pages});"><button type="button" class="btn btn-default btn-sm">尾页</button></a></td>
<td>设置每页条数
<select id="pageSize" onchange="toPage(1)">
<option <c:if test="${pageInfo.pageSize==2}">selected</c:if>>2</option>
<option <c:if test="${pageInfo.pageSize==5}">selected</c:if>>5</option>
<option <c:if test="${pageInfo.pageSize==8}">selected</c:if>>8</option>
<option <c:if test="${pageInfo.pageSize==10}">selected</c:if>>10</option>
<option <c:if test="${pageInfo.pageSize==12}">selected</c:if>>12</option>
<option <c:if test="${pageInfo.pageSize==15}">selected</c:if>>15</option>
</select>
</td>
<td>第${pageInfo.pageNum}页/共${pageInfo.pages}页</td>
<td><a href="${pageContext.request.contextPath}/insertStudentEdit"><button type="button" class="btn btn-success btn-sm">添加</button></a></td>
</tr>
</table>
</body>
<script type="text/javascript">
function toPage(pageNum) {
//pageNum为当前页
$("#pn").val(pageNum);
//获取页面设置的每页条数
var pageSize = $("#pageSize").val();
//每页条数传给表单,更新每页条数
$("#ps").val(pageSize);
//提交表单请求
$("#myForm").submit();
}
</script>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
</div>
</div>
<br>
<br>
<br>
<button type="submit" class="login-button">登陆</button>
</div>
</form>
</body>
<script type="text/javascript">
//提交之前进行检查,如果return false,则不允许提交
function check() {
//根据ID获取值
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
if (username == "") {
alert("用户名不能为空");
return false;
}
if (password == "") {
alert("密码不能为空");
return false;
}
return true;
}
</script>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>修改的编辑页面</title>
<script type="text/javascript"
src="https://cdn.staticfile.org/twitter-bootstrap/3.3.4/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css"
href="https://cdn.staticfile.org/twitter-bootstrap/3.3.4/css/bootstrap.min.css">
</head>
<body>
<div class="col-xs-3 col-md-offset-4">
<br/><br/><br/>
public interface StudentMapper {
//查询所有
public List<Student> selectStudentAll(ParamsStu params);
//根据id删除学生
void deleteStudent(int id);
//根据id查询学生,然后进入编辑页面 展示信息准备修改
Student updateStudentEdit(int id);
//修改编辑页面,提交执行修改
void upadateStudent(Student student);
//添加学生
void insertStudent(Student student);
}
package com.demo.service;
public interface StudentService {
//查询所有
public List<Student> selectStudentAll(ParamsStu params);
void deleteStudent(int id);
Student updateStudentEdit(int id);
void upadateStudent(Student student);
void insertStudent(Student student);
}
package com.demo.mapper;
public interface UserMapper {
<td>${stu.name}</td>
<td>${stu.classid}</td>
<td>${stu.subject}</td>
<td>${stu.teacher}</td>
<td>${stu.score}</td>
<td><c:if test="${stu.score>=90}">优</c:if><c:if test="${stu.score<90 and stu.score>=80 }">良</c:if><c:if test="${stu.score<80 and stu.score>=60}">合格</c:if><c:if test="${stu.score<60}">不合格</c:if></td>
<td><a href="${pageContext.request.contextPath}/deleteStudent/${stu.id}"><input type="submit" class="btn btn-danger" value="删除"></a>
<a href="${pageContext.request.contextPath}/updateStudentEdit/${stu.id}"><input type="submit" class="btn btn-info" value="修改"></a></td>
</tr>
</c:forEach>
</table>
<%--分页--%>
<table align="center">
<tr>
<td><a href="javascript:toPage(1);"><button type="button" class="btn btn-default btn-sm">首页</button></a></td>
<td><a href="javascript:toPage(${pageInfo.pageNum-1});"><button type="button" class="btn btn-default btn-sm">上一页</button></a></td>
<td><a href="javascript:toPage(${pageInfo.pageNum+1});"><button type="button" class="btn btn-default btn-sm">下一页</button></a></td>
<td><a href="javascript:toPage(${pageInfo.pages});"><button type="button" class="btn btn-default btn-sm">尾页</button></a></td>
<td>设置每页条数
<select id="pageSize" onchange="toPage(1)">
<option <c:if test="${pageInfo.pageSize==2}">selected</c:if>>2</option>
<option <c:if test="${pageInfo.pageSize==5}">selected</c:if>>5</option>
<option <c:if test="${pageInfo.pageSize==8}">selected</c:if>>8</option>
<option <c:if test="${pageInfo.pageSize==10}">selected</c:if>>10</option>
<option <c:if test="${pageInfo.pageSize==12}">selected</c:if>>12</option>
<option <c:if test="${pageInfo.pageSize==15}">selected</c:if>>15</option>
</select>
</td>
<td>第${pageInfo.pageNum}页/共${pageInfo.pages}页</td>
<td><a href="${pageContext.request.contextPath}/insertStudentEdit"><button type="button" class="btn btn-success btn-sm">添加</button></a></td>
</tr>
</table>
</body>
<script type="text/javascript">
function toPage(pageNum) {
//pageNum为当前页
$("#pn").val(pageNum);
//获取页面设置的每页条数
var pageSize = $("#pageSize").val();
//每页条数传给表单,更新每页条数
params.setPageNum(1);
}
PageHelper.startPage(params.getPageNum(), params.getPageSize());
//pageNum当前页,pageSize 每页条数
return studentMapper.selectStudentAll(params);
}
@Override
public void deleteStudent(int id) {
studentMapper.deleteStudent(id);
}
@Override
public Student updateStudentEdit(int id) {
return studentMapper.updateStudentEdit(id);
}
@Override
public void upadateStudent(Student student) {
studentMapper.upadateStudent(student);
}
@Override
public void insertStudent(Student student) {
studentMapper.insertStudent(student);
}
}
package com.demo.service;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User get(String username, String password) {
Map<String, Object> params = new HashMap<>();
params.put("username", username);
// boolean flag = "admin".equals(request.getParameter("username")) && "123456".equals(request.getParameter("password"));//模拟数据库登录
User user = userService.get(request.getParameter("username"), request.getParameter("password"));
if (user != null) {
session.setAttribute("msg", "Login Success!!!");
session.setAttribute("url", "/selectStudentAll");
} else {
session.setAttribute("msg", "username or password was wrong!");
session.setAttribute("url", "/login.jsp");
}
request.getRequestDispatcher("/forward.jsp").forward(request, response);
}
}
package com.demo.service;
@Service
public class StuServiceImpl implements StudentService {
@Autowired
private StudentMapper studentMapper;
//查询所有
@Override
public List<Student> selectStudentAll(ParamsStu params) {
if (params.getPageNum() == 0) {
params.setPageNum(1);
}
PageHelper.startPage(params.getPageNum(), params.getPageSize());
//pageNum当前页,pageSize 每页条数
return studentMapper.selectStudentAll(params);
}
@Override
public void deleteStudent(int id) {
studentMapper.deleteStudent(id);
<option <c:if test="${pageInfo.pageSize==5}">selected</c:if>>5</option>
<option <c:if test="${pageInfo.pageSize==8}">selected</c:if>>8</option>
<option <c:if test="${pageInfo.pageSize==10}">selected</c:if>>10</option>
<option <c:if test="${pageInfo.pageSize==12}">selected</c:if>>12</option>
<option <c:if test="${pageInfo.pageSize==15}">selected</c:if>>15</option>
</select>
</td>
<td>第${pageInfo.pageNum}页/共${pageInfo.pages}页</td>
<td><a href="${pageContext.request.contextPath}/insertStudentEdit"><button type="button" class="btn btn-success btn-sm">添加</button></a></td>
</tr>
</table>
</body>
<script type="text/javascript">
function toPage(pageNum) {
//pageNum为当前页
$("#pn").val(pageNum);
//获取页面设置的每页条数
var pageSize = $("#pageSize").val();
//每页条数传给表单,更新每页条数
$("#ps").val(pageSize);
//提交表单请求
$("#myForm").submit();
}
</script>
</html>
<%@ 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 lang="en">
<head>
<meta charset="utf-8">
<title>登录页</title>
<style type="text/css">
body {
background-color: #ebebeb;
}
.login {
z-index: 2;
position: absolute;
width: 350px;
border-radius: 0px;
height: 500px;
background: white;
box-shadow: 0px 0px 0px #333333;
top: 50%;
left: 50%;
margin-top: -250px;
margin-left: -175px;
transition: all 1s;
-moz-transition: all 1s; /* Firefox 4 */
//查询所有
@Override
public List<Student> selectStudentAll(ParamsStu params) {
if (params.getPageNum() == 0) {
params.setPageNum(1);
}
PageHelper.startPage(params.getPageNum(), params.getPageSize());
//pageNum当前页,pageSize 每页条数
return studentMapper.selectStudentAll(params);
}
@Override
public void deleteStudent(int id) {
studentMapper.deleteStudent(id);
}
@Override
public Student updateStudentEdit(int id) {
return studentMapper.updateStudentEdit(id);
}
@Override
public void upadateStudent(Student student) {
studentMapper.upadateStudent(student);
}
@Override
public void insertStudent(Student student) {
studentMapper.insertStudent(student);
}
}
package com.demo.service;
return score;
}
public void setScore(Integer score) {
this.score = score;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", classid='" + classid + '\'' +
", teacher='" + teacher + '\'' +
", score=" + score +
", subject='" + subject + '\'' +
'}';
}
}
package com.demo.controller;
@Controller
public class LoginController {
@Autowired
private UserService userService;
@RequestMapping("login")
public void login(HttpServletRequest request, HttpServletResponse response) throws Exception {
<html>
<head>
<title>学生成绩管理系统</title>
<script type="text/javascript"
src="https://cdn.staticfile.org/twitter-bootstrap/3.3.4/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css"
href="https://cdn.staticfile.org/twitter-bootstrap/3.3.4/css/bootstrap.min.css">
</head>
<style type="text/css">
td {
text-align: center;
}
</style>
<body>
<h1 align="center">学生成绩管理系统</h1>
<%--条件查询/搜索:注意写工具类--%>
<div align="center">
<form id="myForm" action="${pageContext.request.contextPath}/selectStudentAll" method="post">
姓名:<input type="text" name="name" value="${par.name}" size="6"/>
班级编号:<input type="text" name="classid" value="${par.classid}" size="6"/>
学科:<input type="text" name="subject" value="${par.subject}" size="6"/>
老师姓名:<input type="text" name="teacher" value="${par.teacher}" size="6"/> <br/> <br/>
学生成绩:<input type="text" name="scoreFrom" value="${par.scoreFrom}" size="6"/>
---<input type="text" name="scoreTo" value="${par.scoreTo}" size="6"/>
<%--条件搜索后:分页--%>
<input id="pn" type="hidden" name="pageNum" value="${pageInfo.pageNum}">
<%--页面动态设置每页条数--%>
<input id="ps" type="hidden" name="pageSize" value="${pageInfo.pageSize}">
<input type="submit" class="btn btn-primary" value="搜索">
</form>
</div>
<%--数据展示--%>
<table border="1" align="center" class="table table-striped table-hover table-bordered">
<tr>
<td>学生编号</td>
<td>学生姓名</td>
<td>班级编号</td>
<td>学科</td>
<td>老师姓名</td>
<td>学生成绩</td>
<td>等及</td>
<td>操作</td>
@RequestMapping("/insertStudent")
public String insertStudent(Student student) {
//执行添加,调用service添加方法-dao-持久化
studentService.insertStudent(student);
//添加完毕,重定向更新结果页面
return "redirect:/selectStudentAll";
}
}
package com.demo.util;
//分页工具类
public class ParamsStu {
private int pageNum; //当前页
private int pageSize = 5;//每页条数
// 条件查询
private String name;
private String classid;
private String teacher;
private Integer scoreFrom;
private Integer scoreTo;
private String subject;
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassid() {
<td><a href="javascript:toPage(${pageInfo.pageNum-1});"><button type="button" class="btn btn-default btn-sm">上一页</button></a></td>
<td><a href="javascript:toPage(${pageInfo.pageNum+1});"><button type="button" class="btn btn-default btn-sm">下一页</button></a></td>
<td><a href="javascript:toPage(${pageInfo.pages});"><button type="button" class="btn btn-default btn-sm">尾页</button></a></td>
<td>设置每页条数
<select id="pageSize" onchange="toPage(1)">
<option <c:if test="${pageInfo.pageSize==2}">selected</c:if>>2</option>
<option <c:if test="${pageInfo.pageSize==5}">selected</c:if>>5</option>
<option <c:if test="${pageInfo.pageSize==8}">selected</c:if>>8</option>
<option <c:if test="${pageInfo.pageSize==10}">selected</c:if>>10</option>
<option <c:if test="${pageInfo.pageSize==12}">selected</c:if>>12</option>
<option <c:if test="${pageInfo.pageSize==15}">selected</c:if>>15</option>
</select>
</td>
<td>第${pageInfo.pageNum}页/共${pageInfo.pages}页</td>
<td><a href="${pageContext.request.contextPath}/insertStudentEdit"><button type="button" class="btn btn-success btn-sm">添加</button></a></td>
</tr>
</table>
</body>
<script type="text/javascript">
function toPage(pageNum) {
//pageNum为当前页
$("#pn").val(pageNum);
//获取页面设置的每页条数
var pageSize = $("#pageSize").val();
//每页条数传给表单,更新每页条数
$("#ps").val(pageSize);
//提交表单请求
$("#myForm").submit();
}
</script>
</html>
<%@ 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 lang="en">
<head>
<meta charset="utf-8">
<title>登录页</title>
<style type="text/css">
body {
background-color: #ebebeb;
"id=" + id +
", name='" + name + '\'' +
", classid='" + classid + '\'' +
", teacher='" + teacher + '\'' +
", score=" + score +
", subject='" + subject + '\'' +
'}';
}
}
package com.demo.controller;
@Controller
public class LoginController {
@Autowired
private UserService userService;
@RequestMapping("login")
public void login(HttpServletRequest request, HttpServletResponse response) throws Exception {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
HttpSession session = request.getSession();
// boolean flag = "admin".equals(request.getParameter("username")) && "123456".equals(request.getParameter("password"));//模拟数据库登录
User user = userService.get(request.getParameter("username"), request.getParameter("password"));
if (user != null) {
session.setAttribute("msg", "Login Success!!!");
session.setAttribute("url", "/selectStudentAll");
} else {
session.setAttribute("msg", "username or password was wrong!");
session.setAttribute("url", "/login.jsp");
}
request.getRequestDispatcher("/forward.jsp").forward(request, response);
}
}
package com.demo.service;