컨트롤러 delete 메소드 추가
delete 대상 id = > @Path
@Path 어노테이션을 통해 파라미터 체크
서비스, dao 인터페이스에 메소드 등록
mapper.xml delete 쿼리 등록
package com.example.demo.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.example.demo.dto.Member;
import com.example.demo.service.MembersService;
@RestController
public class MembersController {
@Autowired
private MembersService service;
...
@DeleteMapping(path="/members/{id}")
public Integer deleteMember(@PathVariable Integer id) {
return service.deleteMember(id);
}
}
package com.example.demo.dao;
import java.util.List;
import org.springframework.stereotype.Repository;
import com.example.demo.dto.Member;
@Repository
public interface MembersDAO {
List<Member> getAllMembers();
Member getMember(Integer id);
void insertMember(Member member);
Integer updateMember(@Param("id") Integer id, @Param("member") Member member);
Integer deleteMember(Integer id);
}
package com.example.demo.dto;
public class Member {
private Integer id;
private String name;
private Integer age;
private String dept;
public Member() {
super();
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
@Override
public String toString() {
return "Member [id=" + id + ", name=" + name + ", age=" + age + ", dept=" + dept + "]";
}
}
package com.example.demo.service;
import java.util.List;
import com.example.demo.dto.Member;
public interface MembersService {
List<Member> getAllMembers();
Member getMember(Integer id);
void insertMember(Member member);
Member updateMember(Integer id, Member member);
Integer deleteMember(Integer id);
}
package com.example.demo.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.demo.dao.MembersDAO;
import com.example.demo.dto.Member;
import com.example.demo.service.MembersService;
@Service
public class MembersServiceImpl implements MembersService{
@Autowired
private MembersDAO dao;
...
@Override
public Integer deleteMember(Integer id) {
return dao.deleteMember(id);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.dao.MembersDAO">
...
<!-- 삭제한 행의 수를 반환 -->
<delete id="deleteMember" parameterType="int">
DELETE FROM members WHERE id = #{id}
</delete>
</mapper>