表示层(Controller):StudentController
package com.ning.controller;
import com.ning.domain.Student;
import com.ning.service.StudentService;
import com.ning.vo.ResultInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
public class StudentController {
@Autowired
private StudentService studentService;
//查询所有
@GetMapping("/student")
public ResultInfo findAll(){
List<Student> studentList = studentService.findAll();
return ResultInfo.success(studentList);
}
//新增
@PostMapping("/student")
public ResultInfo save(@RequestBody Student student){
//调用service的save方法
studentService.save(student);
//返回结果
return ResultInfo.success(null);
}
//根据number查询
@GetMapping("/student/{number}")
public ResultInfo findByNumber(@PathVariable("number") String number){
//调用service的save方法
Student student1 = studentService.findByNumber(number);
//返回结果
return ResultInfo.success(student1);
}
//根据number修改
@PutMapping ("/student")
public ResultInfo update(@RequestBody Student student){
//调用service的save方法
studentService.update(student);
//返回结果
return ResultInfo.success(null);
}
//根据number删除
@DeleteMapping("/student/{number}")
public ResultInfo delete(@PathVariable("number") String number){
//调用service的save方法
studentService.delete(number);
//返回结果
return ResultInfo.success(null);
}
}
业务层(Service)接口:StudentService
package com.ning.service;
import com.ning.domain.Student;
import java.util.List;
public interface StudentService {
//查询全部
List<Student> findAll();
//新增
void save(Student student);
//根据number查询
Student findByNumber(String number);
//根据number修改
void update(Student student);
//根据number删除
void delete(String number);
}
业务层实现类:StudentServiceImpl
package com.ning.service.impl;
import com.ning.domain.Student;
import com.ning.mapper.StudentMapper;
import com.ning.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class StudentServiceImpl implements StudentService {
@Autowired
private StudentMapper studentMapper;
//查询全部
@Override
public List<Student> findAll() {
//调用mapper(持久层)的findAll方法,操作数据库
return studentMapper.findAll();
}
//新增
@Override
public void save(Student student) {
//调用mapper(持久层)的save方法,操作数据库
studentMapper.save(student);
}
//根据number查询
@Override
public Student findByNumber(String number) {
//调用mapper(持久层)的findByNumber方法,操作数据库
return studentMapper.findByNumber(number);
}
//根据number修改
@Override
public void update(Student student) {
//调用mapper(持久层)的update方法,操作数据库
studentMapper.update(student);
}
//根据number删除
@Override
public void delete(String number) {
//调用mapper(持久层)的update方法,操作数据库
studentMapper.delete(number);
}
}
持久层(dao)接口:StudentMapper
package com.ning.mapper;
import com.ning.domain.Student;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
public interface StudentMapper {
//查询所有
@Select("select * from student ")
List<Student> findAll();
//新增
@Insert("insert into student values(#{number},#{name},#{birthday},#{address})")
void save(Student student);
//根据number查询
@Select("select * from student where number = #{number}")
Student findByNumber(String number);
//根据number修改
@Update("update student set name = #{name},birthday = #{birthday},address = #{address} where number = #{number}")
void update(Student student);
//根据number删除
@Delete("delete from student where number = #{number}")
void delete(String number);
}
1468

被折叠的 条评论
为什么被折叠?



