반응형
[MyBatis] 동적 쿼리
Backend/MyBatis2022. 9. 28. 21:19[MyBatis] 동적 쿼리

검색 조건에 따라 비교하면서 동적 쿼리를 사용하는 방법에 대해 알아보겠습니다. MyBatis와 데이터베이스는 Oracle을 사용하였습니다. 조건문 조건문에는 단일(if), 다중(choose, when, otherwise) 조건문이 있습니다. 단일 조건문 SELECT * FROM TB_SAMPLE WHERE column1 = #{parameter1} AND column2 LIKE %'||#{parameter2}||'%' 다중 조건문 SELECT * FROM TB_SAMPLE WHERE column1 = #{parameter1} AND column2 = #{parameter2} AND column3 = #{parameter3} 비교 형식 for 문 foreach를 사용하여 조건을 만들 수 있습니다. SELE..

[MyBatis] 페이징 처리
Backend/MyBatis2022. 9. 28. 21:16[MyBatis] 페이징 처리

웹 개발 시 페이징 처리는 필수입니다. MyBatis를 사용하여 페이징 처리하는 방법에 대해 알아보겠습니다. 데이터베이스는 Oracle을 사용하였습니다. 기본 페이징 공지사항 조회 시 페이징을 예제로 만들었습니다. Class 생성 공지사항 관련 Class와 페이징을 위한 Class를 생성하였습니다. // Notice.java @Data public class Notice { // 작성사용자ID private String userId; // 작성사용자명 private String userName; // 제목 private String title; // 내용 private String content; // 조회수 private int hit; } // Pagination.java @Data public cl..

[JPA] Select Query 사용 방법
Backend/Spring2022. 9. 26. 20:59[JPA] Select Query 사용 방법

SpringData JPA를 사용하여 웹 프로젝트를 진행하면서 Select Query를 작성 시 잊어버리게 되어 검색을 하게 되는데 자주 사용하는 내용들을 정리하였습니다. JpaRepository를 상속받아 사용하는 기본 Query와 @Query 주석을 사용하여 JPQL 및 네이티브 SQL 쿼리를 실행하는 방법에 대해 알아보겠습니다. Entity 먼저 데이터베이스에 저장하기 위해 tb_user 테이블 이름의 Entity 클래스를 작성합니다. @Entity @Table(name = "tb_user") @Data public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) protected long id; /** 사용자ID */ @C..

[Spring Boot] 환경에 따른 설정 방법
Backend/Spring2022. 9. 22. 20:57[Spring Boot] 환경에 따른 설정 방법

Spring Boot를 사용하여 웹 프로젝트를 할 때에 환경(개발 또는 배포)에 따라 설정 값들을 달리 할 필요가 있습니다. Spring Boot 에서는 application.properties 파일을 profile로 구분하여 사용할 수 있습니다. profile을 작성하지 않을 경우 default로 application.properties를 사용합니다. application.properties 작성 규칙 profile을 포함한 파일명을 작성합니다. # default application.properties # 배포 환경(prod) application-prod.properties # 개발 환경(dev) application-dev.properties # 테스트 환경(test) application-tes..

[Spring Boot] Maven 빌드 방법
Backend/Spring2022. 9. 21. 09:49[Spring Boot] Maven 빌드 방법

STS(Spring Tool Suite)에서 빌드 방법 메뉴 -> Run -> Run Configurations -> Maven Build(우클릭) -> New Configuration 클릭 [Name] 입력 란에 작성 [Base directory] 에서 Workspace 버튼 클릭 빌드하려는 프로젝트 선택 [Goals] 입력 란에 clean install 작성 저장 후 빌드 실행 아래 이미지는 설정 한 내용입니다. Maven 빌드 중에 데이터베이스 연결을 제외하는 방법 Maven Build -> [Goals] 입력 란에 clean install -DskipTests 작성합니다. 또는 pom.xml에 아래 코드를 추가합니다. org.apache.maven.plugins maven-surefire-plug..

[Node.js] 시작 및 구성 방법
Backend/NodeJS2022. 9. 16. 11:39[Node.js] 시작 및 구성 방법

다운로드 및 설치 Node.js 다운로드 사이트에 접속한 후 플랫폼에 맞게 선택을 하여 다운로드합니다. Windows 환경에서 개발하기 위해 Windows Installer (.msi) 64-bit를 다운로드 합니다. 현재 최신 LTS 버전은 v16.17.0 버전입니다. 다운 받은 인스톨러 파일을 실행해서 설치를 진행합니다. 설치가 완료되면 아래 명령어를 입력해서 확인을 합니다. D\> node -v v16.17.0 D\> npm -v 8.15.0 Node.js를 설치하면 자동으로 NPM 이 설치가 됩니다. npm (노드 패키지 매니저/Node Package Manager)은 자바스크립트 프로그래밍 언어를 위한 패키지 관리자이다. 자바스크립트 런타임 환경 Node.js의 기본 패키지 관리자이다. 출처 :..

Spring AOP
Backend/Spring2022. 8. 30. 13:20Spring AOP

AOP(Aspect Oriented Programming)는 공통관심사항을 분리하여 반복되는 부분을 추출해 핵심 로직에 영향을 미치지 않고 소스의 중복을 줄이는 방법으로 기존 OOP(Object-Oriented Programming)에서 공통관심사항을 여러 모듈에서 적용하며 발생하는 중복된 코드 양산의 한계를 극복하기 위해 나오게 되었습니다. Spring AOP의 장점 예를 들어 어떠한 홈페이지에 로그인 처리를 해야 할 때 AOP를 사용하지 않는다면 모든 페이지마다 로그인 상태인지 확인하는 소스코드를 넣어야 할 테고 혹시나 그 로직이 변경되게 된다면 또 그 모든 페이지의 소스를 수정해야 하는 일이 생길 것입니다. 하지만 AOP를 적용한다면 단 하나의 로그인 로직만 바꿔도 모든 소스에 적용시킬 수 있는 장..

[JPA] Annotation 정리
Backend/Spring2022. 8. 26. 21:58[JPA] Annotation 정리

JPA(Hibernate) Annotation 정리 JPA로 개발하면서 자주 사용하는 어노테이션을 정리하였다. @Entity 해당 클래스가 엔티티임을 알리기 위해 사용한다. 애플리케이션이 실행이 될 때 엔티티 자동검색을 통하여 이 어노테이션이 선언된 클래스들은 엔티티 빈으로 등록한다. @Table 데이터의 저장소, 테이블을 의미한다. name 값은 실제 데이터베이스의 테이블 명을 의미하며, 생략이 가능하다. 어노테이션을 생략하면 클래스의 이름을 테이블의 이름으로 자동 인식하게 된다. @Id 엔티티빈의 기본키를 의미한다. 이 어노테이션은 하나의 엔티티에는 반드시 하나가 존재해야 한다. 복수키도 설정할 수 있다. @GeneratedValue 데이터베이스에 의해 자동으로 생성된 값이라는 의미다. 즉, 프로그램..

반응형
image