끄적끄적

spring 글 수정 / java spring 게시판 글 수정하기

integerJI 2020. 6. 2. 23:25

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