SpringBoot/Project

[Spring] 프로젝트 - Shop 등록

함형우 2022. 9. 6. 19:00
728x90

계정을 생성할때 작성했던 memberVO처럼, 가게 등록에 필요한 ShopVO를 작성하려고 한다.

 

 

 

ShopVO.JAVA

package edu.hi.model;

import java.util.Date;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ShopVO {
	
    /** 가게 아이디 */
    private int shopId;
    
    /** 가게 이름 */
    private String shopName;
    
    /** 소속 id */
    private String nationId;
    
    /** 가게 소속 */
    private String nationName;
    
    /** 가게 소개 */
    private String shopIntro;
    
    /** 등록 날짜*/
    private Date regDate;
    
    /** 수정 날짜 */
    private Date updateDate;

}

Oracle에 등록한 칼럼들을 기반으로 하여 vo를 작성해주었다.

 

 

 

 

      <!-- 가게 등록 -->
      <insert id="shopEnroll">
      
          insert into shop_author(shopId,shopName, nationId, shopIntro) values(NO_SEQ.NEXTVAL,#{shopName}, #{nationId}, #{shopIntro} )
 
      </insert>

 

기존에 존재하는 MemberMapper와 별개로, ShopMapper를 따로 생성하여 그 안에 shopEnroll를 작성하였다.

 

 

 

 

package edu.hi.mapper;

import org.apache.ibatis.annotations.Mapper;

import edu.hi.model.ShopVO;

@Mapper
public interface ShopMapper {
	
    /** 작가 등록 */
    public void shopEnroll(ShopVO shop);

}
package edu.hi.service;

import edu.hi.model.ShopVO;

public interface ShopService {

    /* 작가 등록 */
    public void shopEnroll(ShopVO shop) throws Exception;
	
}
package edu.hi.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import edu.hi.mapper.ShopMapper;
import edu.hi.model.ShopVO;

@Service
public class ShopServiceImpl implements ShopService {
	
	@Autowired
	ShopMapper shopMapper;
	
    @Override
    public void shopEnroll(ShopVO shop) throws Exception {
        
        shopMapper.shopEnroll(shop);
        
    }

}

Mapper 그리고 Service와 ServiceImpl이다. 어노테이션일 잘 확인하고 작성한 후에 실행이 되는지 점검한다. Autowired 같은 경우, mapper설정이 제대로 되지 않았을 시에는 오류가 난다.

 

기존의 AdminController 단을 편집해준다.

 

    /* 작가 등록 */
    @RequestMapping(value="shopEnroll.do", method = RequestMethod.POST)
    public String shopEnrollPOST(ShopVO shop, RedirectAttributes rttr) throws Exception{
 
        logger.info("shopEnroll :" +  shop);
        
    }

 

리퀘스트맵핑을 이용하여, POST 형식으로 데이터를 받아올 예정이다. 회원가입에 썼던 로직을 그대로 사용하려한다.

 

728x90