基于Spring+Spring Boot+JPA+Thymeleaf+Bootstrap+Mysql实现的一个单表crud

Spring+Spring Boot+JPA+Thymeleaf+Bootstrap+Mysql实现的一个单表crud

= = 整个项目是自己学习中做出来的,内容不太规范!

基于Spring+Spring Boot+JPA+Thymeleaf+Bootstrap+Mysql实现的一个单表crud_第1张图片
Student.java

package com.xxxy.entity;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.Length;




/**
 * The persistent class for the student database table.
 * 
 */
@Entity
@NamedQuery(name="Student.findAll", query="SELECT s FROM Student s")
public class Student implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int studentID;
	
	@Size(max=20,min=6,message="密码长度为6-20!")
	private String password;
	
	@Length(max=11,min=8,message="电话不正确!")
	private String phone;
	
	@NotBlank(message="学号不能为空!")
	private String studentNo;

	@NotBlank(message="姓名不能为空!")
	private String Name;

	//bi-directional many-to-one association to Studentsubject
	@OneToMany(mappedBy="student")
	private List studentsubjects;

	
	public Student() {
	}
	
	public int getStudentID() {
		return this.studentID;
	}

	public void setStudentID(int studentID) {
		this.studentID = studentID;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getPhone() {
		return this.phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getStudentNo() {
		return this.studentNo;
	}

	public void setStudentNo(String studentNo) {
		this.studentNo = studentNo;
	}

	public String getName() {
		return this.Name;
	}

	public void setName(String Name) {
		this.Name = Name;
	}

	public List getStudentsubjects() {
		return this.studentsubjects;
	}

	public void setStudentsubjects(List studentsubjects) {
		this.studentsubjects = studentsubjects;
	}

	public Studentsubject addStudentsubject(Studentsubject studentsubject) {
		getStudentsubjects().add(studentsubject);
		studentsubject.setStudent(this);

		return studentsubject;
	}

	public Studentsubject removeStudentsubject(Studentsubject studentsubject) {
		getStudentsubjects().remove(studentsubject);
		studentsubject.setStudent(null);

		return studentsubject;
	}
	@Override
	public String toString() {
		return "Student [sutdentID=" + studentID + ", password=" + password + ", phone=" + phone + ", studentNo="
				+ studentNo + ", tName=" + Name + "]";
	}

}

StudentRepository.java

package com.xxxy.dao;

import org.springframework.data.jpa.repository.JpaRepository;

import com.xxxy.entity.Student;

public interface StudentRepository extends JpaRepository {

}

StudentService.java

package com.xxxy.service;

import java.util.List;
import java.util.Optional;

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

import com.xxxy.dao.StudentRepository;
import com.xxxy.entity.Student;

@Service
public class StudentService {

	@Autowired
	private StudentRepository studentResitory;
	
	public List findAll(){
		return studentResitory.findAll();
	}
	
	public Student addStudent(Student student) {
		return studentResitory.save(student);
	}
	
	public void deleteStudent(Integer id) {
		studentResitory.deleteById(id);
	}
	
	public Optional updateStudent(Integer id) {
		Optional stu=studentResitory.findById(id);
		return stu;
	}
}

StudentController.java

package com.xxxy.controller;

import java.util.Optional;

import javax.validation.Valid;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.Errors;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;

import com.xxxy.entity.Student;
import com.xxxy.service.StudentService;

@Controller
public class StudentController {

	@Autowired
	private StudentService ss;
	
	//	首页跳转
	@GetMapping(value={"/","index"})
	public String Index(Model model) {
		model.addAttribute("studentList", ss.findAll());
		return "index";
	}
//	跳转添加用户页面
	@GetMapping("/register")
	public String reg(Model model) {
		model.addAttribute("student", new Student());
		return "reg";
	}
	
//	添加学生
	@PostMapping(value="/add-Student")
	public String addStudent(@ModelAttribute() @Valid Student student,Errors errors){
		if (errors.hasErrors()) {
			return "reg";
		}
		ss.addStudent(student);
		return "redirect:/";
	}
	
//	删除学生
	@GetMapping("/delete-Student")
	public String deleteStudent(Integer id) {
		ss.deleteStudent(id);
		return "redirect:/";
	}
	
//	修改信息
	@GetMapping("/update-Student")
	public String updateStudent(Integer id,Model model) {
		Optional stu=ss.updateStudent(id);
		model.addAttribute("student", stu);
		return "reg";
	}

}

index.html





全部信息







	
学号 姓名 电话号码
123 zhang san 137822316 修改 删除
添加

reg.html





添加用户







	



     请输入您的学号
     请输入您的姓名
     请正确设置您的密码!
     电话输入错误!
    

https://download.csdn.net/download/qq_39099905/10819765
项目源文件

你可能感兴趣的:(基于Spring+Spring Boot+JPA+Thymeleaf+Bootstrap+Mysql实现的一个单表crud)