Javaweb

Controller

package com.oracle.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import com.oracle.entity.PageData;
import com.oracle.entity.Student;
import com.oracle.service.impl.StudentServiceImpl;
import com.sun.javafx.geom.transform.BaseTransform.Degree;

@Controller
public class StudentController {

	@Autowired
	StudentServiceImpl studentService;
	
	//分页查询所有学生
	@RequestMapping("/findAllStudentByPage/{currentPage}")
	public String findAllStudentByPage(Model model,@PathVariable("currentPage") int currentPage) {
		PageData<Student> data = studentService.findAllStudentByPage(currentPage, 5);
		
		model.addAttribute("data",data);
		
		return "studentList";
	}
	
	@RequestMapping("/toAddStudent")
	public String toAddStudent() {
		
		return "addStudent";
	}
	
	@RequestMapping("/addStudent")
	public String addStudent(Model model,Student student) {
		
		String md5Pwd = DigestUtils.md5DigestAsHex(student.getPwd().getBytes());
		student.setPwd(md5Pwd);
		int flag = studentService.addStudent(student);
		String msg="增加失败";
		if(flag==1) msg="增加成功";
		model.addAttribute("msg",msg);
		return "forward:findAllStudentByPage/1";
	}
	@RequestMapping("/toUpdateStudent")
	public String toUpdateStudent(Model model,int id) {
		
		model.addAttribute("id",id);
		
		return "updateStudent";
	}
	
	@RequestMapping("/updateStudent")
	public String updateStudent(Model model,Student student) {
		String md5Pwd = DigestUtils.md5DigestAsHex(student.getPwd().getBytes());
		student.setPwd(md5Pwd);
		int flag = studentService.updateStudent(student);
		
		String msg="修改失败";
		if(flag==1) msg="修改成功";
		
		model.addAttribute("msg",msg);
		return "forward:findAllStudentByPage/1";
	}
	
	@RequestMapping("/deleteStudent")
	public String deleteStudent(Model model,int id) {
		int flag = studentService.deleteStudent(id);
		
		String msg="删除失败";
		if(flag==1) msg="删除成功";
		model.addAttribute("msg",msg);
		return "forward:findAllStudentByPage/1";
	}
}

PageData

package com.oracle.entity;

import java.util.List;

public class PageData<T> {
	private int currentPage;
	private int pageSize;
	private int totalPage;
	private List<T> list;
	public int getCurrentPage() {
		return currentPage;
	}
	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getTotalPage() {
		return totalPage;
	}
	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}
	public List<T> getList() {
		return list;
	}
	public void setList(List<T> list) {
		this.list = list;
	}
	

}

StudentMapper.java

package com.oracle.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.oracle.entity.Student;

public interface StudentMapper {

	
	int findAllStudentCount();
	
	List<Student> findAllStudentByPage(@Param("currentPage") int currerntPage,@Param("pageSize") int pageSize);
	
	int addStudent(Student student);
	
	int updateStudent(Student student);
	int deleteStudent(int id);
	

}

StudentMapper.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.oracle.mapper.StudentMapper" >

	<!-- 分页查询 -->
	<select id="findAllStudentCount" resultType="int">
		select count(1) from student
	</select>
	
	<select id="findAllStudentByPage" resultType="com.oracle.entity.Student">
		select * from student limit #{currentPage},#{pageSize}
	</select>
	
	<insert id="addStudent" parameterType="com.oracle.entity.Student">
		insert into student(id,name,pwd)
		value(#{id},#{name},#{pwd})
	</insert>
	
	<update id="updateStudent" parameterType="com.oracle.entity.Student">
		update student
		set id=#{id}, name=#{name}, pwd=#{pwd}
		where  id=#{id}
	</update>

	<delete id="deleteStudent">
		delete from student where id=#{id}
	</delete>


</mapper>

StudentServiceImpl.java

package com.oracle.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.oracle.entity.PageData;
import com.oracle.entity.Student;
import com.oracle.mapper.StudentMapper;
import com.oracle.service.StudentService;

@Service
public class StudentServiceImpl implements StudentService {

	@Autowired
	StudentMapper studentMapper;
	
	@Override
	public int findAllStudentCount() {
		// TODO Auto-generated method stub
		return studentMapper.findAllStudentCount();
	}

	@Override
	public PageData<Student> findAllStudentByPage(int currentPage, int pageSize) {
		// TODO Auto-generated method stub
		
		PageData data=new PageData<Student>();
		
		List<Student> list = studentMapper.findAllStudentByPage((currentPage-1)*pageSize, pageSize);
		data.setList(list);
		
		data.setCurrentPage(currentPage);
		data.setPageSize(pageSize);
		
		int total=(int)Math.ceil(1.0*studentMapper.findAllStudentCount()/pageSize);
		data.setTotalPage(total);

		return data;
	}

	@Override
	public int addStudent(Student student) {
		// TODO Auto-generated method stub
		return studentMapper.addStudent(student);
	}

	@Override
	public int updateStudent(Student student) {
		// TODO Auto-generated method stub
		return studentMapper.updateStudent(student);
	}

	@Override
	public int deleteStudent(int id) {
		// TODO Auto-generated method stub
		return studentMapper.deleteStudent(id);
	}

}

addStudent.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div >
	<h1>增加学生</h1>
	
	<form action="${pageContext.request.contextPath }/addStudent">
		id:<input id="id" name="id"><br/>
		name:<input id="name" name="name"><br/>
		pwd:<input id="pwd" name="pwd"><br/>
		<input type="submit" value="提交">
	</form>
</div>
	
</body>
</html>

studentList.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div style="text-align:center">
	<h1>学生列表</h1>

<h3 style="color: red">${msg }</h3>
<h3><a href="${pageContext.request.contextPath }/toAddStudent">增加学生</a></h3>
	<table  align="center" border="1">
		<tr >
		<td>学号</td>
		<td>姓名</td>
		<td>密码</td>
		<td>操作</td>
		<td>操作</td>
		</tr>
		<c:forEach items="${data.list }" var="student">
			<tr>
				<td>${student.id }</td>
				<td>${student.name }</td>
				<td>${student.pwd }</td>
				<td><a href="${pageContext.request.contextPath }/toUpdateStudent?id=${student.id}">修改</a></td>
				<td><a href="${pageContext.request.contextPath }/deleteStudent?id=${student.id}">删除</a></td>
			</tr>
		</c:forEach>
		
	</table>
	<c:if test="${data.currentPage>1}">
		<a href="${pageContext.request.contextPath }/findAllStudentByPage/${data.currentPage-1}">上一页</a>
	</c:if>
	<c:if test="${data.currentPage<data.totalPage}">
		<a href="${pageContext.request.contextPath }/findAllStudentByPage/${data.currentPage+1}">下一页</a>
	</c:if>
	
</div>



</body>
</html>

updateStudent,jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>修改学生</h1>
	
	<form action="${pageContext.request.contextPath }/updateStudent">
		id:<input id="id" name="id" value="${id }"><br/>
		name:<input id="name" name="name"><br/>
		pwd:<input id="pwd" name="pwd"><br/>
		<input type="submit" value="提交">
	</form>
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值