DB 15

[데이터베이스 개론] 01장. 데이터베이스 기본 개념

데이터베이스의 필요성 데이터와 정보 데이터는 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값으로써 자료라고 한다. 정보는 데이터를 의사 결정에 유용하게 활용할 수 있도록 처리하여 체계적으로 조작한 결과물이다. 데이터에서 정보를 추출하는 과정 또는 방법을 정보처리라고 한다. 정보처리는 데이터를 상황에 맞게 분석하거나 해석하여 데이터 간의 의미관계를 파악하는 것이다. 정보 시스템과 데이터베이스 조직 운영에 필요한 데이터를 수집하여 저장해두었다가 의사 결정이 필요할 때 처리하여 유용한 정보를 만들어주는 수단을 정보 시스템이라고 한다. 정보 시스템 안에서 데이터를 저장하고 있다가 제공하는 핵심역학을 데이터베이스가 담당한다. 데이터베이스의 정의와 특징 데이터베이스의 정의 데이터베이스, DB는 특정 조..

Summary 2022.01.16

[JPA] Spring Data JPA (4) - 사용자 정의 Repository

Spring Data JPA는 다양한 프레임워크와 연동기능을 제공한다. JPA만으로 해결할 수 없는 동적쿼리등을 지원하기 위함이다. 대표적으로 QueryDSL 등을 사용하고, JDBC Template, Mybatis 등도 사용할 수 있다. 가장 많이 사용해본 Mybatis와의 연동을 실습해보았다. 사용자 정의 Repository - MyBatis MemberRepositroy에 기존 Spring Data JPA가 제공하는 메소드 말고, 다른 프레임워크(Mybatis)를 이용한 메소드를 추가하기 위해 다음과 같은 사용자 정의 Repository와 구현체 class를 만들어보았다. 1 2 3 public interface MemberRepositoryMybatis { List findDynamic(Membe..

Java&Web 2020.08.28

[JPA] Spring Data JPA (3) - 페이징과 정렬

페이징과 정렬 Spirng Data JPA는 아주 간편한 페이징과 정렬기능을 제공해준다. 메소드의 리턴 타입으로 Page를 사용해주고, pageable이란 파라미터에 시작페이지, 갯수, 정렬조건, 그리고 메소드이름으로 검색조건을 적절히 사용해준다면 count쿼리까지 자동으로 조회해주는 쉬운 페이징을 할 수 있다. 다음과 같은 예시가 있다. 1 2 3 4 5 public interface MemberRepository extends JpaRepository{ //페이징 Page findByAge(int age, Pageable pageable); } Colored by Color Scripter 위 처럼 Page를 리턴타입으로 받아주고, Pageable 변수를 파라미터로 가지는 메소드 네이밍 쿼리를 작성하..

Java&Web 2020.08.28

[JPA] Spring Data JPA (2) - 메소드 네임 쿼리, @Query

메소드 네임 쿼리 JPA는 기본적으로 JpaRepository을 상속 받음으로써 기본적인 CRUD를 할 수 있는 쿼리를 제공한다. 또한 이것과 별게로 추가적으로 규칙에 의한 메소드 네임만으로 다양한 쿼리문을 실행시킬 수 있는 기능도 제공해준다. 즉, JPA는 메소드의 이름을 분석하여 JPQL을 생성하고 실행한다. 예를 들면 다음과 같다. 1 2 3 public interface MemberRepository extends JpaRepository { List findByEmailAndName(String email,String name); } Colored by Color Scripter MemberRepository에 findByEmailAndName이란 메소드를 만들어주었고, 이것을 JPA는 내부적으..

Java&Web 2020.08.28

[JPA] Spring Data JPA (1) - 소개, 기본

JPA란? Java Persistence API로써 자바진영의 ORM 기술 표준 ※ ORM : Object-Relational Mapping, 객체와 관계형 데이터베이스의 매핑 기존에 존재했던 패러다임 불일치 문제를 해결 기존 JDBC와는 다르게 객체는 객체대로 설계, RDBMS는 RDBMS대로 설계 후 맵핑하는 방식 ※ 객체와 RDBMS의 차이 : 상속, 연관관계, 데이터 타입, 데이터 식별 방법 애플리케이션을 SQL이 아닌 객체중심으로 개발하여 생산성과 유지보수를 높임 JPA는 인터페이스, 구현체로써 Hibernate, EclipseLink, DataNucleus등을 사용, 대표적으로 Hibernate를 사용 Spring Data JPA란? Spring Data JPA는 Spring Data 프로젝트..

Java&Web 2020.08.28