-
[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>
'Spring Boot' 카테고리의 다른 글
[ChatGPT API] 파인튜닝하기 (1) 2024.06.12 [ChatGPT API] 프로젝트에 GPT API 적용하기(라이브러리 활용하기) (0) 2024.05.30 [Mybatis] Cause: java.sql.SQLException: 부적합한 열 유형: 1111 (0) 2024.05.26 [AA] intercepter 세팅하기 (0) 2024.05.24 [AA] CustomExeption (0) 2024.05.23