bean实体类:
package com.spring.comtroller.demo.bean; import javax.persistence.*; import java.io.Serializable; @Entity @Table(name="user", schema = "myapp") public class Student implements Serializable{ @Id @GeneratedValue @Column(name="id") private long id; @Column(name = "name") private String name; public Student() { } public Student(long id, String name) { this.id = id; this.name = name; } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + '}'; } }
controller控制类:
package com.spring.comtroller.demo.controller; import com.spring.comtroller.demo.bean.Student; import com.spring.comtroller.demo.result.ResultModel; import com.spring.comtroller.demo.result.ResultModelTool; import com.spring.comtroller.demo.service.IStudent; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; import java.util.Map; @RestController @RequestMapping(value = "/students") public class StudentController { @Autowired IStudent studentService; @RequestMapping(value = "/all",method = RequestMethod.GET) public ResultModel getAllStudent(){ List<Student> studentList = studentService.getAllStudent(); Map<String,List<Student>> studentMap = new HashMap<>(); if (studentList!=null){ studentMap.put("students",studentList); } ResultModel resultModel = new ResultModel(); resultModel.setCode(0); resultModel.setData(studentMap); return ResultModelTool.handleResultModel(resultModel); } @PostMapping(value = "/addStudent") public ResultModel addStudent(@RequestParam long id,@RequestParam String name){ Student student = new Student(id,name); int errorCode = studentService.addStudent(student); ResultModel resultModel = new ResultModel(); resultModel.setCode(errorCode); resultModel.setData(student); return ResultModelTool.handleResultModel(resultModel); } @PostMapping(value = "/updateStudent") public ResultModel updateStudent(@RequestParam long id,@RequestParam String name){ Student student = new Student(id,name); int errorCode = studentService.updateStudent(student); ResultModel resultModel = new ResultModel(); resultModel.setCode(errorCode); resultModel.setData(student); return ResultModelTool.handleResultModel(resultModel); } @GetMapping(value = "/deleteStudent/{id}") public ResultModel deleteStudent(@PathVariable long id){ int errorCode = studentService.deleteStudent(id); ResultModel resultModel = new ResultModel(); resultModel.setCode(errorCode); List<Student> studentList = studentService.getAllStudent(); Map<String,List<Student>> studentMap = new HashMap<>(); if (studentList!=null){ studentMap.put("students",studentList); } resultModel.setData(studentMap); return ResultModelTool.handleResultModel(resultModel); } }
respository层:
public interface JpaStudentRepository extends JpaRepository<Student,Long>{ } public interface StudentRepository extends Repository<Student,Long> { }
service层:
public interface IStudent { //获取所有的学生 List<Student> getAllStudent(); //增 int addStudent(Student student); //删 int deleteStudent(long id); //改 int updateStudent(Student student); //查 Student queryStudent(long id); }
service实现类:
package com.spring.comtroller.demo.service; import com.spring.comtroller.demo.bean.Student; import com.spring.comtroller.demo.repository.JpaStudentRepository; import com.spring.comtroller.demo.result.ErrorCode; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class StudentImpl implements IStudent { @Autowired JpaStudentRepository jpaStudentRepository; @Override public List<Student> getAllStudent() { List<Student> students = jpaStudentRepository.findAll(); System.out.println(students.toString()); return students; } @Override public int addStudent(Student student) { if (jpaStudentRepository.existsById(student.getId())){ System.out.println("user is existed"); return ErrorCode.EXISTUSER; } Student saveStudent = jpaStudentRepository.save(student); if (saveStudent != null && saveStudent.getId() == student.getId()) { System.out.println("save success"); return ErrorCode.ADDSUCCESS; } else { System.out.println("save failure"); return ErrorCode.ADDFAIL; } } @Override public int deleteStudent(long id) { if (jpaStudentRepository.existsById(id)) { jpaStudentRepository.deleteById(id); System.out.println("删除成功"); return ErrorCode.DELETESUCCESS; } System.out.println("删除失败"); return ErrorCode.NOTEXISTUSER; } @Override public int updateStudent(Student student) { if (jpaStudentRepository.existsById(student.getId())){ jpaStudentRepository.save(student); System.out.println("更新成功"); return ErrorCode.UPDATESUCCESS; } System.out.println("更新失败"); return ErrorCode.UPDATEFAIL; } @Override public Student queryStudent(long id) { Student student = null; if (jpaStudentRepository.existsById(id)){ student = jpaStudentRepository.findById(id).get(); System.out.println(student.toString()); } return student; } }
result类:
public interface ErrorCode { /** * 10000 网络繁忙 * 10001 无此用户 * 10002 添加成功 * 10003 删除成功 * 10004 更新成功 * 10005 此用户已存在 * 10006 添加失败 * 10007 删除失败 * 10008 更新失败 * -1 请求失败 * 0 请求成功 */ int NETERROR = 10000; int NOTEXISTUSER = 10001; int ADDSUCCESS = 10002; int DELETESUCCESS = 10003; int UPDATESUCCESS = 10004; int EXISTUSER = 10005; int ADDFAIL = 10006; int DELETEFAIL = 10007; int UPDATEFAIL = 10008; int REQUESTFAIL = -1; int REQUESTSUCCESS = 0; }
public class ResultModel implements Serializable{ private int code; private String msg; private Object data ; public ResultModel() { } public ResultModel(int errorCode, String msg, Object data) { this.code = errorCode; this.msg = msg; this.data = data; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } }
package com.spring.comtroller.demo.result; import java.util.HashMap; import java.util.Map; public class ResultModelTool { public static ResultModel handleResultModel(ResultModel resultModel) { ResultModel handledModel = new ResultModel(); Map map = new HashMap(); if (resultModel != null) { int error = resultModel.getCode(); handledModel.setCode(error); switch (error) { case 10000: handledModel.setMsg("网络繁忙,请稍后重试"); handledModel.setData(map); break; case 10001: handledModel.setMsg("无此用户"); handledModel.setData(map); break; case 10002: handledModel.setMsg("添加成功"); handledModel.setData(resultModel.getData()); break; case 10003: handledModel.setMsg("删除成功"); handledModel.setData(resultModel.getData()); break; case 10004: handledModel.setMsg("更新成功"); handledModel.setData(resultModel.getData()); break; case -1: handledModel.setMsg("请求失败"); handledModel.setData(map); break; case 10005: handledModel.setMsg("此用户已存在"); handledModel.setData(map); break; case 10006: handledModel.setMsg("添加失败"); handledModel.setData(map); break; case 10007: handledModel.setMsg("删除失败"); handledModel.setData(map); break; case 10008: handledModel.setMsg("更新失败"); handledModel.setData(map); break; default: handledModel.setMsg("请求成功"); handledModel.setData(resultModel.getData()); break; } } return handledModel; } }