I T H

[스프링프로젝트연습 16] 스프링 프로젝트 구현 - CRUD 서비스 로직 추가 본문

Spring Basic

[스프링프로젝트연습 16] 스프링 프로젝트 구현 - CRUD 서비스 로직 추가

thdev 2024. 1. 22. 14:47
앞서 진행한 트랜잭션 적용 후 INSERT, UPDATE, DELETE 에 대한 서비스 로직을 추가하여 트랜잭션 처리를 진행하고자 한다.

[ 서비스 로직 수정 - MainService / ServiceImpl 파일 수정 ]

-      앞서 생성한 서비스 인터페이스 및 클래스를 수정한다.

 

ㄱ. 서비스 인터페이스 수정

- kr.co.values.service 패키지의 MainService.java 파일을 수정한다.

- INSERT, UPDATE, DELETE 에 대한 메소드를 추가한다.

- 파라미터로 1건 데이터를 전달받을 것이므로 Map 형태의 파라미터를 선언

- 리턴 타입은 void 로 처리

package kr.co.values.service;

import java.util.Map;

public interface MainService {
	
	//TEST
	void saveTest(Map<String, Object> map);
	
	// 1.DATA INSERT
	public void insertData(Map<String, Object> map);
	
	// 3.DATA UPDATE
	public void updateData(Map<String,Object> map);
	
	// 4.DATA DELETE
	public void deleteData(Map<String, Object> map);
	
}

 

ㄴ. 서비스 구현 클래스 수정

- 아래 구현 메소드를 파일 내 추가한다.

@Override
	public void insertData(Map<String, Object> map) {
		mainMapper.addList(map);
	}

	@Override
	public void updateData(Map<String, Object> map) {
		mainMapper.updateList(map);
	}

	@Override
	public void deleteData(Map<String, Object> map) {
		mainMapper.deleteList(map);
	}

 

[ 컨트롤러 수정 – MainController.java 파일 수정 ]

- 컨트롤러에서 Mapper 호출이 아닌 서비스를 호출하도록 변경하여 준다.

//1. DATA INSERT
	@RequestMapping("/main/addList.do")
	@ResponseBody
	public Map<String, Object> addList(@RequestBody Map<String, Object> params){
		System.out.println("1. DATA INSERT");
		
		mainService.insertData(params);//변경
		
		Map<String, Object> result = new HashMap<String, Object>();
		result.put("result", true);
		return result;
	}
	
    
 // 3. DATA UPDATE
    @RequestMapping("/main/updateList.do")
    @ResponseBody
    public Map<String, Object> updateList(@RequestBody Map<String, Object> params){
    	
    	System.out.println("3. DATA UPDATE");
    	
    	mainService.updateData(params);//변경
    	
    	Map<String, Object> result = new HashMap<String, Object>();
    	result.put("result", true);
    	return result;
    }

 // 4.DATA DELETE
    @RequestMapping("/main/deleteList.do")
    @ResponseBody
    public Map<String, Object> deleteList(@RequestBody Map<String, Object> params){
    	System.out.println("4. DATA DELETE");
    	
    	mainService.deleteData(params);//변경
    	
    	Map<String, Object> result = new HashMap<String, Object>();
    	result.put("result", true);
    	return result;
    }

 

-  서비스 로직 추가 후에 CRUD가 정상 작동 되는지 확인.