spring 글 수정 / java spring 게시판 글 수정하기
글 작성을 보고 나의 생각만으로 글 수정하기를 진행해 보았다.
<update id="updateProject">
UPDATE
TB_PROJECT
SET
PRO_TITLE = #{proTitle},
PRO_BODY = #{proBody}
WHERE
PRO_ID = #{proId}
</update>
먼저 글을 수정하기 위해 UPDATE 쿼리문을 xml에 넣어 주었다.
id는 updateProject
package com.project.service;
// com.project.service/ProjectService.java
import java.util.List;
import com.project.vo.ProjectVO;
public interface ProjectService {
List<ProjectVO> selectProjectList() throws Exception;
void insertProject(ProjectVO projectVO);
void updateProject(ProjectVO projectVO);
}
package com.project.service.impl;
// com.project.service.impl/ProjectServiceImpl.java
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.project.service.ProjectService;
import com.project.service.dao.ProjectDAO;
import com.project.vo.ProjectVO;
@Service("projectService")
public class ProjectServiceImpl implements ProjectService {
@Autowired
private ProjectDAO projectMapper;
@Override
@Transactional
public List<ProjectVO> selectProjectList() throws Exception {
return projectMapper.selectProjectList();
}
@Override
public void insertProject(ProjectVO projectVO) {
projectMapper.insertProject(projectVO);
}
@Override
public void updateProject(ProjectVO projectVO) {
projectMapper.updateProject(projectVO);
}
}
Service와 ServiceImpl에 새로 만든 쿼리문을 불러와 준다.
package com.project.service.dao;
//com.project.service.dao/ProjectDAO.java
import java.util.List;
import com.project.vo.ProjectVO;
public interface ProjectDAO {
List<ProjectVO> selectProjectList() throws Exception;
void insertProject(ProjectVO projectVO);
void updateProject(ProjectVO projectVO);
}
물론 DAO에도 추가해 준다.
/**
* 게시판 수정폼
* @param projectVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value = "/projectUpdateForm.do")
public String projectUpdateForm(@ModelAttribute("projectVO") ProjectVO projectVO, Model model) throws Exception {
return "projectUpdateForm";
}
/**
* 글을 수정합니다.
* @return
*/
@RequestMapping(value = "/projectUpdate.do")
public String projectUpdate(@ModelAttribute("projectVO") ProjectVO projectVO, Model model) {
System.out.println(projectVO);
projectService.updateProject(projectVO);
return "redirect:/projectList.do";
}
글 쓰기와 똑같이 가져왔다.
단지 호출하는 api는 inster가아니라 update이다.
글 수정 jsp를 가져와 글 수정 호출 api를 가져온다.
글을 쓸때에는 어떤글을 수정할건지 proId를 같이 url로 넘겨준다.
수정 할 때에는 필요한 proid를 hidden으로 숨겨 값을 넘겨주었다.
이제 수정할 내용을 title과 body에 저장하면 projectUpdate.do을 호출한다.
url도 잘 넘어오고
글을 수정해 보자.
완료!
'끄적끄적' 카테고리의 다른 글
내가 쓰려고 만든 project / app 빨리만들기 (0) | 2020.06.13 |
---|---|
aws key를 잘 관리합시다. (0) | 2020.06.09 |
할거 (0) | 2020.05.30 |
properties 관리하기 (0) | 2020.05.18 |
다음프로젝트 정의 (0) | 2020.05.14 |