ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MyBatis] User CRUD 구현하기 - C (Create)
    Spring Boot 2024. 5. 26. 20:01

    Spring legacy

    Mybatis

    Oracle

     

    스터디 프로젝트 진행중

    CRUD 다시 차근차근 공부하기

     

    C (Create) - 회원가입

     

    📌 UserVo

    import java.io.Serializable;
    
    import lombok.Data;
    
    @Data
    public class EseUserVo implements Serializable {
    
    	private static final long serialVersionUID = 3337545320035130909L;
    
    	private Integer registNo;
    	private String userId;
    	private String userPw;
    	private String tmprPwNo; // 임시비밀번호
    	private String userNm;
    	private String userEmail;
    	private String userPhone;
    	private String userZipCode;
    	private String userFirstAddr; // 기본주소
    	private String userSecondAddr; // 상세주소
    	private String userLevel; // 권한수준
    	private String userDelYn;
    	private String userDelDe; // 삭제 날짜
    	private String regDe; // 사용자 등록일
    	private String pwChangeDt; // 비밀번호 변경일
    	private String pwFailCnt; // 비밀번호 입력 실패  횟수
    	private String lastContactFmtDt; // 사용자가 마지막으로 접속한 날짜 시간
    	private String enabled; // 계정 활성화 여부
    	private String ipAddr; // 사용자가 마지막으로 접속한 IP 주소
    	private String pwChgYn; // 비밀번호 변경 여부
    	private String idBlockYn; // 계정 잠금 여부
    	private String otpYn; // OTP 사용 여부
    
    }

     

    📌 UserContoller

    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.http.ResponseEntity;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.ModelAttribute;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.servlet.ModelAndView;
    
    import co.kr.fourteen.ese.history.vo.EseHistoryVo;
    import co.kr.fourteen.ese.user.service.EseUserService;
    import co.kr.fourteen.ese.user.vo.EseUserVo;
    import lombok.extern.slf4j.Slf4j;
    
    @Controller
    @Slf4j
    @RequestMapping(value="/ese/user/")
    public class EseUserController {
    
    
    	@Autowired
    	private EseUserService eseUserService;
    
    	/**
    	* @Method insertInfo
    	* @Date 2024. 05. 25.
    	* @Writter ese(어성은 )
    	* @EditHistory
    	* @Discript Seongeun Join 회원가입(C)
    	* @Return ModelAndView
    	*/
    	@RequestMapping(value="insertInfo", method = RequestMethod.POST) // 주소호출
    	public String insertInfo(@ModelAttribute EseUserVo info) {
    
    		log.info(info.toString());
    		eseUserService.insertInfo(info);
    	    return "ese/user/login";
    	}
    
    }

     

    📌 UserServiceImpl

    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import co.kr.fourteen.common.util.CustomException;
    import co.kr.fourteen.ese.user.mapper.EseUserMapper;
    import co.kr.fourteen.ese.user.service.EseUserService;
    import co.kr.fourteen.ese.user.vo.EseUserVo;
    
    @Service
    public class EseUserServiceImpl implements EseUserService {
    
    	@Autowired
    	private EseUserMapper eseUserMapper;
    
    	@Override
    	public int insertInfo(EseUserVo info) {
    		int resultInt = eseUserMapper.insertInfo(info);
    		return resultInt;
    	}
    
    
    }

     

     

    📌 UserMapper

    import java.util.List;
    
    import co.kr.fourteen.common.annotation.OracleSqlMapperScan;
    import co.kr.fourteen.ese.user.vo.EseUserVo;
    
    @OracleSqlMapperScan
    public interface EseUserMapper {
    	public int insertInfo(EseUserVo info);
    }

     

     

    📌 UserMapper.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
    
    <mapper namespace="EseUserMapper경로">
    
    	<insert id="insertInfo" parameterType="EseUserVo" useGeneratedKeys="true" keyProperty="idx">
    		INSERT INTO ESE_USER (
    			USER_ID
    			,USER_PW
    			,USER_NM
    
    			,USER_EMAIL
    			,USER_PHONE
    			,USER_ZIP_CODE
    
    			,USER_FIRST_ADDR
    			<if test="userSecondAddr != ''">,USER_SECOND_ADDR</if>
    			,USER_DEL_YN
    
    			,REG_DE
    			,ENABLED
    		) VALUES (
    			#{userId}
    			,#{userPw}
    			,#{userNm}
    
    			,#{userEmail}
    			,#{userPhone}
    			,#{userZipCode}
    
    			,#{userFirstAddr}
    			<if test="userSecondAddr != ''">,#{userSecondAddr}</if>
    			,'N'
    
    			,CURRENT_TIMESTAMP
    			,'A' <!-- A : 활성 / E : 비활 -->
    		)
    	</insert>
    </mapper>

     

     

Designed by Tistory.