1. 程式人生 > >springMVC-spring-Hibernate 開發學生管理系統簡單案例-java各檔案編寫(四)

springMVC-spring-Hibernate 開發學生管理系統簡單案例-java各檔案編寫(四)

四、java各檔案編寫

原始檔:https://download.csdn.net/download/flyingshadower/10628472

(1)工程目錄:

(2)StudentEntity 利用Hibernate自動生成實體類

package com.student.sys.entity;

import javax.persistence.*;

@Entity
@Table(name = "student", schema = "sm", catalog = "")
public class StudentEntity {
   private int studentId;
   private String studentName;
   private String studentNumber;
   private String studentScore;

   @Id
   @Column(name = "student_id")
   public int getStudentId() {
      return studentId;
   }

   public void setStudentId(int studentId) {
      this.studentId = studentId;
   }

   @Basic
   @Column(name = "student_name")
   public String getStudentName() {
      return studentName;
   }

   public void setStudentName(String studentName) {
      this.studentName = studentName;
   }

   @Basic
   @Column(name = "student_number")
   public String getStudentNumber() {
      return studentNumber;
   }

   public void setStudentNumber(String studentNumber) {
      this.studentNumber = studentNumber;
   }

   @Basic
   @Column(name = "student_score")
   public String getStudentScore() {
      return studentScore;
   }

   public void setStudentScore(String studentScore) {
      this.studentScore = studentScore;
   }

   @Override
   public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;

      StudentEntity that = (StudentEntity) o;

      if (studentId != that.studentId) return false;
      if (studentName != null ? !studentName.equals(that.studentName) : that.studentName != null) return false;
      if (studentNumber != null ? !studentNumber.equals(that.studentNumber) : that.studentNumber != null)
         return false;
      if (studentScore != null ? !studentScore.equals(that.studentScore) : that.studentScore != null) return false;

      return true;
   }

   @Override
   public int hashCode() {
      int result = studentId;
      result = 31 * result + (studentName != null ? studentName.hashCode() : 0);
      result = 31 * result + (studentNumber != null ? studentNumber.hashCode() : 0);
      result = 31 * result + (studentScore != null ? studentScore.hashCode() : 0);
      return result;
   }
}

(3)StudentDao

package com.student.sys.dao;


import com.student.sys.entity.StudentEntity;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Repository;

import javax.annotation.Resource;
import java.util.List;

@Repository
public class StudentDao {

   @Resource
   private SessionFactory sessionFactory;

   private Session getSession() {
      return sessionFactory.getCurrentSession();
   }

   /*
    * 查詢所有
    * */
   @SuppressWarnings("unchecked")
   public List<StudentEntity> getStudentEntity() {
      return this.getSession().createCriteria(StudentEntity.class).list();
   }

   /*
    * 根據ID查詢
    * */
   public StudentEntity getStudentEntityById(int id) {
      return (StudentEntity) this.getSession().createQuery("from StudentEntity where id=?")
            .setParameter(0, id).uniqueResult();
   }

   /*
    * 新增
    * */
   public void addStudent(StudentEntity studentEntity) {
      try {
         Session session = sessionFactory.openSession();
         session.beginTransaction();
         session.save(studentEntity);
         session.getTransaction().commit();
         session.close();
      }catch (Exception e)
      {
         e.printStackTrace();
      }
   }

   /*
    *更新
    * */
   public void updateStudent(StudentEntity studentEntity) {
      try {
         Session session = sessionFactory.openSession();
         session.beginTransaction();
         session.update(studentEntity);
         session.getTransaction().commit();
         session.close();
      }catch (Exception e)
      {
         e.printStackTrace();
      }
   }

   /*
    * 刪除
    * */
   public void deleteStudent(StudentEntity studentEntity) {
      //this.getSession().createQuery("delete StudentEntity where id=?")
            //.setParameter(0, id).executeUpdate();
      try {
         Session session = sessionFactory.openSession();
         session.beginTransaction();
         session.delete(studentEntity);
         session.getTransaction().commit();
         session.close();
      }catch (Exception e)
      {
         e.printStackTrace();
      }
   }
}

(4)StudentService

package com.student.sys.service;

import com.student.sys.dao.StudentDao;
import com.student.sys.entity.StudentEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class StudentService {
   @Autowired
   private StudentDao studentDao;

   /*
    * 查詢所有
    * */
   public List<StudentEntity> getStudentEntity() {
      return studentDao.getStudentEntity();
   }

   /*
    * 根據ID查詢
    * */
   public StudentEntity getStudentById(int id) {
      return studentDao.getStudentEntityById(id);
   }

   /*
    * 新增
    * */
   public void addStudent(StudentEntity studentEntity) {
      studentDao.addStudent(studentEntity);
   }

   /*
    * 更新
    * */
   public void updateStudent(StudentEntity studentEntity) {
      studentDao.updateStudent(studentEntity);
   }

   /*
    * 刪除
    * */
   public void deleteStudent(StudentEntity studentEntity) {
      studentDao.deleteStudent(studentEntity);
   }
}

(5)StudentController

package com.student.sys.controller;

import com.student.sys.entity.StudentEntity;
import com.student.sys.service.StudentService;
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 org.springframework.web.bind.annotation.RequestMethod;
import javax.servlet.http.HttpServletRequest;

@Controller
@RequestMapping("student")

public class StudentController {
   @Autowired
   private StudentService studentService;

   /*
    * 跳轉登入介面
    * */
   @RequestMapping("toLogin")
   public String toLogin() {
      return "login";
   }

   /*
    * 登入請求
    * */
   @RequestMapping(value = "login", method = RequestMethod.POST)
   public String login(HttpServletRequest httpServletRequest) {
      String userId = httpServletRequest.getParameter("userId");
      String password = httpServletRequest.getParameter("userPassword");
      if (userId.equals("admin") && password.equals("1234")) {
         return "index";
      } else {
         return "fail";
      }

   }

   /*
    * 轉向首頁
    * */
   @RequestMapping("toIndex")
   public String toindex() {
      return "index";
   }


   /*
    * 檢視所有人員資訊
    * */
   @RequestMapping(value = "main")
   public String main(Model model) {
      model.addAttribute("studentList",studentService.getStudentEntity());
// Map<string,object> map:    map.put("studentList", studentService.getStudentEntity());
      return "main";
   }


   /*
    * 跳轉到新增頁面
    * */
   @RequestMapping(value = "addStudent")
   public String saveStudent() {
      return "addPage";
   }


   /*
    * 儲存新增的資料
    * */
   @RequestMapping(value = "saveStudent", method = RequestMethod.POST)
   public String saveStudent(HttpServletRequest httpServletRequest) {

      try {
         String name = httpServletRequest.getParameter("name");
         String number = httpServletRequest.getParameter("number");
         String score = httpServletRequest.getParameter("score");

         StudentEntity studentEntity = new StudentEntity();

         if(name==null||number==null||score==null){
            studentEntity.setStudentName(name);
            studentEntity.setStudentNumber(number);
            studentEntity.setStudentScore(score);

            studentService.addStudent(studentEntity);
         }

      } catch (Exception e) {
         e.printStackTrace();
      }
      return "redirect:/student/main";
   }

/*
* 獲得修改學生資訊,並跳轉到編輯介面
* */

   @RequestMapping("editStudent")
   public String toEditStudent(Model model,HttpServletRequest request) {
      String id=request.getParameter("id");
      int id1=Integer.parseInt(id);
      StudentEntity  studentEntity=studentService.getStudentById(id1);
      model.addAttribute("studentEntity",studentEntity);
      return "editPage";
   }

   @RequestMapping(value = "updateStudent",method = RequestMethod.POST)
   public String updateStudent(HttpServletRequest httpServletRequest){
      String id=httpServletRequest.getParameter("id");
      int id1=Integer.parseInt(id);
      String name = httpServletRequest.getParameter("name");
      String number = httpServletRequest.getParameter("number");
      String score = httpServletRequest.getParameter("score");

      StudentEntity studentEntity=studentService.getStudentById(id1);
      studentEntity.setStudentName(name);
      studentEntity.setStudentNumber(number);
      studentEntity.setStudentScore(score);
      studentService.updateStudent(studentEntity);
      return "redirect:/student/main";
   }

   /*
    * 刪除一條資料
    * */
   @RequestMapping(value = "deleteStudent")
   public String deleteStudent(HttpServletRequest request) {
      String id = request.getParameter("id");
      int id1 = Integer.parseInt(id);
      StudentEntity studentEntity = studentService.getStudentById(id1);
      studentService.deleteStudent(studentEntity);
      return "redirect:/student/main";
   }

   /*
    * 更新資料
    * */
   @RequestMapping(value = "updateStudent")
   public String updatePrompt(StudentEntity studentEntity) {
      System.out.println(studentEntity.toString());
      studentService.updateStudent(studentEntity);
      return "main";
   }


}