본문 바로가기
728x90
반응형

분류 전체보기278

[JPA] H2 Database 💡 H2 Database 란? 자바로 작성된 관계형 데이터베이스 관리 시스템이다. 장점 따로 설치가 필요없다 용량이 매우 가볍다 웹용 콘솔(쿼리툴) 제공하여 개발용 로컬DB로 사용 용이 특징 JAVA로 작성된 오픈소스 RDBMS 스프링 부트가 지원하는 인메모리 관계형 데이터베이스 인메모리로 띄우면 애플리케이션 재기동 때마다 초기화 로컬 환경, 테스트 환경에서 많이 쓰임 In-Memory DB 컴퓨터가 꺼지면 모든 내용이 날라감 연속성이 없음 연속성을 주는 방법이 있지만, 그 방법을 쓰려면 그냥 일반 DB모드로 쓰면 된다. 💡 사용하기 Intellij에서 간단하게 사용하는 방법 서버 실행 Run의 Console창에서 “H2 console available at '/h2-console'. Database a.. 2023. 9. 10.
[JPA] JPA란? 💡 JPA (Java Persistence API) 란? 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다. 그 말은 즉, 실제적으로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다. JPA를 구현한 대표적인 오픈소스로는 Hibernate가 있다. 💡 우선 ORM에 대해 알아야 한다! 애플리케이션 Class와 DataBase테이블을 매핑(연결)해준다. 즉 애플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이다. 장점 SQL문이 아닌 Method를 통해 DB를 조작할 수 있어, 개발자는 객체 모델을 이용하여 비즈니스 로직을 구성하는데만 집중할 수 있음.(내부적으로는 쿼리를 생성하여 DB를 조작함. 하지.. 2023. 9. 10.
[jQuery] jQuery 기본 사용법 Query는 HTML 문서의 탐색, 조작, 이벤트 처리 등을 간편하게 수행하기 위한 자바스크립트 라이브러리이다. 크로스 브라우저 호환성을 제공하며, DOM 조작과 애니메이션 등을 간소화하여 개발자들이 웹 애플리케이션을 보다 쉽게 개발할 수 있도록 도와준다. 특징 간결한 문법: 간결하고 직관적인 문법을 제공하여 개발자가 복잡한 DOM 조작을 간단하게 수행할 수 있습니다. CSS 선택자를 사용하여 요소를 선택하고, 메소드 체이닝을 통해 다양한 작업을 연속적으로 수행할 수 있습니다. DOM 조작: HTML 문서의 요소를 선택하고, 속성을 변경하거나 삽입, 삭제, 이동할 수 있는 다양한 DOM 조작 기능을 제공합니다. 이를 통해 웹 페이지의 동적인 변경이 가능하며, UI 요소의 상호작용을 구현할 수 있습니다. .. 2023. 9. 10.
[SpringBatch] Batch Architecture. 배치 아키텍처 💡 Spring Batch의 구조 JobRepositor. 다양한 배치 수행과 관련된 수치 데이터와 잡의 상태를 유지 및 관리한다. 일반적으로 관계형 데이터베이스를 사용하며 스프링 배치 내의 대부분의 주요 컴포넌트가 공유한다. 실행된 Step, 현재 상태, 읽은 아이템 및 처리된 아이템 수 등이 모두 JobRepository에 저장된다. Job Job은 배치 처리 과정을 하나의 단위로 만들어 표현한 객체이고 여러 Step 인스턴스를 포함하는 컨테이너이다. Job이 실행될 때 스프링 배치의 많은 컴포넌트는 탄력성(resiliency)을 제공하기 위해 서로 상호작용을 한다. JobLauncher Job을 실행하는 역할을 담당한다. Job.execute을 호출하는 역할이다. Job의 재실행 가능 여부 검증, .. 2023. 9. 10.
[SpringBatch] 스프링 배치란? 💡 스프링 배치(Spring Batch)란? Spring Batch는 엔터프라이즈 시스템의 운영에 있어 대용량 일괄처리의 편의를 위해 설계된 가볍고 포괄적인 배치 프레임워크이다. Spring의 특성을 그대로 가져왔기 때문에 DI, AOP, 서비스 추상화 등 Spring 프레임워크의 3대 요소를 모두 사용할 수 있다. 사용 이유 대용량의 비즈니스 데이터를 복잡한 작업으로 처리해야하는 경우 특정한 시점에 스케쥴러를 통해 자동화된 작업이 필요한 경우 (ex. 푸시알림, 월 별 리포트) 대용량 데이터의 포맷을 변경, 유효성 검사 등의 작업을 트랜잭션 안에서 처리 후 기록해야하는 경우 Spring Batch는 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기, 리소스 관리 등 대용량 레코드 처.. 2023. 9. 10.
[MyBatis] Dynamic Query. 동적 쿼리 1. 기본적인 동적 쿼리 map 형식으로 검색 타입과 키워드를 받아와서 처리했다. WHERE 절에서 검색 타입은 ${ } 로 전달하며 키워드는 #{ } 로 전달한다. ${ } 는 파라미터 값이 그대로 들어가며 #{ } 는 파라미터 값이 ' ' 으로 감싸진다. SELECT * FROM KH.EMPLOYEE WHERE ${searchType} = #{keyword} 2. if문을 이용한 동적 쿼리 if문을 이용하는 방법은 EL 처럼 test 속성에 조건을 넣어주면 된다. SELECT * FROM EMPLOYEE WHERE 1=1 모든 if문의 조건이 맞지 않는 다면 위의 쿼리문의 결과만 리턴될 것이다. 만약 gender 값이 있다면 SELECT * FROM EMPLOYEE WHERE 1=1 AND GENDE.. 2023. 9. 10.
[MyBatis] 기본 세팅 및 사용 방법 1. pom.xml 작성 pom.xml에 2개의 dependency를 등록한다. 로컬에 MariaDB로 DB를 구성했기때문에 MariaDB JDBC를 등록했다. JDBC는 Java로 DB에 접근 및 제어를 가능하게 해주는 API다. mybatis는 JDBC를 좀 더 편하게 사용할 수 있도록해주는 라이브러리인데 JDBC의 결과 및 설정 매핑을 대신해주고, 결정적으로 mybatis를 사용하면 Java 코드가 간결해진다. org.mariadb.jdbc mariadb-java-client org.mybatis.spring.boot mybatis-spring-boot-starter 2.0.1 2. DB접속정보 작성 application.yml에 DB접속 정보와 mapper의 경로를 지정해준다. 해당 경로에 있는 .. 2023. 9. 10.
[Intellij IDEA] DataBase 연동하기 (ERD) 💡Intellij Ultimate를 사용하면 많은 기능들이 있는데 그중 DataBase관련 기능을 유용하게 사용하고 있다. Intellij에서 DataBase연결하기 1. 우측 상단의 DataBase메뉴 클릭 2. 메뉴에서 +버튼 -> Data Source from URL 클릭 3. 연결할 DataBse의 URL과 Driver 선택 4. 해당 DB 계정 정보 입력 후 TestConnection하여 확인한다음 OK. 5. DB 스키마들이 나오는 것을 확인. (처음엔 좀 느릴 수 있는데 refresh해주면 된다) 6. ERD를 확인하려면 원하는 스키마에서 우클릭 -> Diagrams -> Show Diagram 을 선택하면 된다. 7. 마지막으로 Console 탭을 띄워서 개발하면서 바로바로 Query를 작.. 2023. 9. 8.
[MyBatis] MyBatis란 💡 MyBatis 란? 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크이다. 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크이다. 💡 특징 복잡한 쿼리나 다이나믹한 쿼리에 강하다 - 반대로 비슷한 쿼리는 남발하게 되는 단점이 있다. 프로그램 코드와 SQL 쿼리의 분리로 코드의 간결성 및 유지보수성 향상 resultType, resultClass등 Vo를 사용하지 않고 조회결과를 사용자 정의 DTO, MAP 등으로 맵핑하여 사용 할 수 있다. 빠른 개발이 가능하여 생산성이 향상된다. 💡 스프링에 MyBatis 연동! 1. Mybatis 라이브러리 추가 (pom.xml) - versi.. 2023. 9. 8.
728x90
반응형