user_SQL.xml 부터 추가해준다.
<!-- 수정 -->
<update id="update" parameterType="hashMap">
<![CDATA[
UPDATE user
SET name = #{name},
email = #{email},
password = #{password},
salary = #{salary}
WHERE
user_id = #{userId}
]]>
</update>
<!-- 삭제 -->
<delete id="delete" parameterType="hashMap">
<![CDATA[
DELETE FROM user
WHERE user_id = #{userId}
]]>
</delete>
UserDAO 추가
//유저 수정 update 메소드
public int update(Map<String, Object> map) {
return this.sqlSessionTemplate.update("user.update",map);
}
//유저 삭제 delete 메소드
public int delete(Map<String, Object> map) {
return this.sqlSessionTemplate.delete("user.delete", map);
}
UserServicImple 추가, 인터페이스 자동 추가하기
// 유저 수정 메소드
@Override
public boolean edit(Map<String, Object> map) {
int affectRowCount = this.userDao.update(map);
return affectRowCount ==1;
}
// 유저 삭제 메소드
@Override
public boolean remove(Map<String, Object>map) {
int affectRowCount = this.userDao.delete(map);
return affectRowCount == 1;
}
package com.demo.user;
import java.util.List;
import java.util.Map;
public interface UserService {
String create(Map<String, Object> map);
Map<String, Object> detail(Map<String, Object> map);
boolean edit(Map<String, Object> map);
boolean remove(Map<String, Object> map);
}
UserController 추가
//수정 페이지 들어가면 get
@GetMapping("/update")
public String update(@RequestParam Map<String, Object> map, Model model) {
Map<String, Object> detailMap = this.userService.detail(map);
model.addAttribute("data", detailMap);
return "/user/update";
}
//수정 페이지에서 안의 정보 수정하고 저장 눌렀을 경우 POST
@PostMapping("/update")
public String updatePost(@RequestParam Map<String, Object>map) {
boolean isUpdateSuccess = this.userService.edit(map);
if(isUpdateSuccess) {
String userId = map.get("userId").toString();
return "redirect:/user/detail?userId=" + userId;
}else {
return "/user/update";// 실패 시 다시 수정화면으로
}
}
// 유저 삭제 메소드
@PostMapping("/delete")
public String deletePost(@RequestParam Map<String, Object>map) {
boolean isDeleteSuccess = this.userService.remove(map);
if(isDeleteSuccess) {
return "redirect:/user/list";
}else{
String userId = map.get("userId").toString();
return "redirect:/user/detail?userId="+userId;
}
}
테스트하기
수정 클릭
아래와 같이 수정한다.
저장 클릭
'BACKEND > Spring' 카테고리의 다른 글
게시판 만들기 - 새 프로젝트 생성 및 기본 설정 (0) | 2023.10.23 |
---|---|
DB 연결 - 유저 전체 목록 조회 및 검색 결과 조회(SELECT) (0) | 2023.10.21 |
DB 연결 - 유저 패키지 추가해서 유저 등록하기 및 상세조회하기(INSERT,SELECT) (0) | 2023.10.20 |
DB 연결 - 검색 기능 추가하기 (SELECT) (1) | 2023.10.20 |
DB연결 - 책 목록 보기 (SELECT) (1) | 2023.10.20 |