springMVC-spring-Hibernate 開發學生管理系統簡單案例-java各檔案編寫(四)
阿新 • • 發佈:2018-11-09
四、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";
}
}