전체 글25 [Spring] Spring security Bcrypt에 대해서 현재 사내 인트라넷 API를 계속 개발하고 있다.직원정보 등록 API를 작성하고 있다.직원정보를 등록할 때 인트라넷에 로그인할 때 쓰이는 비밀번호(PW)값 또한 저장을 한다.이 비밀번호를 DB에 저장할 때 ‘보안’ 처리 후 저장을 할려고 한다. 그러면 두 가지 방식을 고려할 수 있다.암호화와 해싱 방식이 있다. 우선 이 두 가지에 대해서 알아보자.암호화(Encryption) vs 해싱(Hashing)암호화 (Encryption)암호화는 양방향 프로세스이다. 특정 키(Key)를 사용해 원본 데이터를 아무나 읽을 수 없는 암호문으로 바꾼다. 그리고 나중에 동일한 또는 다른 키를 사용해 다시 원본 데이터로 되돌리는 **‘복호화’**가 가능하다.해싱 (Hashing)해싱은 단방향 프로세스이다. 원본 데이터를 고.. 2025. 8. 11. [Spring][MyBatis] resultMap과 collection을 활용해 1:N관계 데이터 한 번에 가져오기 현재 사내 프로젝트에서 게시물 API를 구현하고 있다.게시물을 등록할 때, 여러 개의 첨부파일을 등록할 수 있도록 했다. 이처럼, 그 게시물의 상세정보를 불러올 때 1:N 관계의 데이터를 어떻게 하면 효율적으로 가져올 수 있을지 고민이었다. 찾아보니 이러한 1:N 관계의 데이터를 마이바티스에서 제공하는 과 을 활용하면한 번의 쿼리로 1:N 관계의 데이터를 객체 형태로 가져올 수 있었다. 우선 게시물과 첨부파일 테이블 구조를 알아보자. 게시물 정보 테이블 (BBS_INFO) 컬럼명 (Field)데이터 타입 (Type)제약 사항yEN">설명 (Comment)SQint(11)PK, auto_incrementyEN">시퀀스BBS_TYPEchar(1)default ‘N’yEN">게시글타입 (N,F)TITL.. 2025. 7. 18. [Spring] ExceptionHandler를 활용한 자동 예외 처리 (w.RestControllerAdivce) 사내 인트라넷 API 개발을 계속해서 하고 있다. API를 작성하면서 INSERT나 UPDATE API 작성 시 반복되어 작성하는 Exception 처리가 있다. 등록 API // 게시물 등록@Overridepublic ResDTO insBbsInfo(BbsDTO bbsDTO) throws Exception { ResDTO res = new ResDTO(); try { configDao.insBbsInfo(bbsDTO); //TODO: 첨부파일 업로드 로직 // 첨부파일이 있는 경우, 첨부파일 정보(파일명, 파일path)를 저장하기 위해 게시글 SQ select. log.info("게시물 ID : " + bbsDTO.get_seq()); .. 2025. 7. 15. [Spring][MyBatis] PageHelper로 페이징 처리하기 현재 사내 인트라넷 리뉴얼 작업을 하고 있다. 프로젝트 기술 스택으로 백엔드에 Spring Boot + Gradle + MyBatis, 그리고 프론트엔드는 회사 처음으로 React를 도입하여개발하고 있다. 개발 중 공지사항이안 자료실 목록에 필수적인 페이지네이션 기능 구현이 필요했다. 기존에 LIMIT와 OFFSET에 직접 페이지 번호(page)와 사이즈(size)를 파라미터로 넘겨 처리했지만,서칭을 해보니 Mybatis에서 PageHelper 플러그인을 알게 되어서 포스팅 해본다. 그래서 PageHelper가 무엇이고, 어떻게 동작하며, 그리고 Spring Boot 프로젝트에 어떻게 적용하는지 알아보자. PageHelper란 무엇이고 어떻게 동작할까? PgaeHelper는 MyBatis의 강력한 페.. 2025. 7. 11. 이전 1 2 3 4 ··· 7 다음