Java-Spring/자바 스프링부트 활용 웹개발 실무용

자바 / 스프링 / 스프링부트 스터디 정리
Java-Spring/자바 스프링부트 활용 웹개발 실무용

[자바 스프링부트 활용 웹개발 실무용] Mybatis를 이용한 검색, 배열 검색과 페이징

Mybatis를 이용한 검색 조건 추가 키워드 검색을 위해 검색 조건에 null 체크, 공백 체크를 해주기 @를 사용해 Java static method에 접근해 검색 조건에 공백 체크해주기 isNotEmpty는 null 체크, 배열 길이가 0인지 체크해줌 ... SELECT B.BOARD_SEQ, B.BOARD_TYPE, B.TITLE, B.CONTENTS, B.REG_DATE FROM T_BOARD B AND B.TITLE LIKE CONCAT('%', #{keyword}, '%') ORDER BY B.REG_DATE DESC ... 키워드로 리스트를 조회하기 위한 BoardSearchParameter 클래스 생성 public class BoardSearchParameter { private Stri..

Java-Spring/자바 스프링부트 활용 웹개발 실무용

[자바 스프링부트 활용 웹개발 실무용] Enum class를 활용해 DB 컬럼 값이 코드일 경우 in out 사용 방법

Enum class 활용 Enum 클래스 활용 NOTICE, FAQ, INQUIRY 같은 코드 형태의 값의 이름을 DB에서 가져오기 위해 JOIN을 사용하는 대신 enum으로 처리 DB 컬럼 값이 코드일 경우 Enum 클래스를 사용하는 이유 1) 불필요한 테이블 및 코드 관리가 없어짐 2) 리스트, 상세 조회 시 코드에 대한 코드명을 TABLE JOIN 등을 통해 가져오는 불필요한 쿼리가 사라짐 Board 테이블에 BOARD_TYPE VARCHAR(10) 컬럼 추가 및 Board.xml 쿼리 수정 ALTER TABLE `T_BOARD` CHANGE COLUMN `BOARD_SEQ`, `BOARD_SEQ` INT(11) NOT NULL AUTO_INCREMENT COMMENT '게시물 번호' FIRST, ..

Java-Spring/자바 스프링부트 활용 웹개발 실무용

[자바 스프링부트 활용 웹개발 실무용] Mybatis와 Mysql 환경에서 대용량 빠르게 등록

대용량 데이터 빠르게 Insert 하기 테스트 데이터 랜덤 문자열 생성에 사용하기 위한 commons-lang3 라이브러리 추가 org.apache.commons commons-lang3 applcation.properties jdbcUrl에 옵션 추가 멀티쿼리를 허용하도록 함 spring.datasource.jdbcUrl = jdbc:log4jdbc:h2:mem:testdb;MODE=MYSQL?allowMultiQueries=true 로그를 보기 위해 logback-default.xml의 root level 변경 ... Board.xml에 saveList 쿼리 추가 배열의 요소를 반복하는 foreach를 사용하여 배열 INSERT QUERY 사용하여 boardList 배열을 반복하면서 구분자 ,에 맞춰..

Java-Spring/자바 스프링부트 활용 웹개발 실무용

[자바 스프링부트 활용 웹개발 실무용] Interceptor와 Logback

Interceptor 컨트롤러의 핸들러를 호출하기 전과 훙 요청과 응답을 참조하거나 가공할 수 있는 일종의 필터로 특정 컨트롤러의 핸들러가 실행되기 전이나 후에 추가적인 작업을 원할 때 사용 BaseHandlerInterceptor 추가 컨트롤러가 호출되기 전에 실행되는 preHandle(), 핸들러가 실행은 완료되었지만 아직 view가 생성되기 이전에 호출하는 postHandle() 재정의 public class BaseHandlerInterceptor extends HandlerInterceptorAdapter { Logger logger = LoggerFactory.getLogger(getClass()); @Override public boolean preHandle(HttpServletReques..

Java-Spring/자바 스프링부트 활용 웹개발 실무용

[자바 스프링부트 활용 웹개발 실무용] 공통 Response class, ControllerAdvice와 다국어 프로퍼티를 사용을 통한 예외처리

공통 Response Class 공통적으로 이용될 응답의 규격을 공통 클래스로 정의하여 만들기 위해 사용 공통으로 사용할 응답 클래스인 BaseResponse 클래스 생성 @Data public class BaseResponse { private BaseResponseCode code; private String message; private T data; public BaseResponse(T data) { // 성공 this.code = BaseResponseCode.SUCCESS; this.data = data; } } BaseResponse 클래스의 code에 사용할 enum인 클래스인 BaseResponseCode 생성 public enum BaseResponseCode { SUCCESS(200..