전체 글

전체 글

    [JPA] JPQL 맛보기

    [JPA] JPQL 맛보기

    JPQL이란? Java Persistence Query Language의 약자로, JPA에서 SQL을 추상화해 제공하는 객체 지향 쿼리 언어를 의미한다. 때문에 JPQL에서 작성된 쿼리문의 대상은 DB 테이블이 아닌 Entity 객체이다. 기본적인 문법은 SQL과 유사하며 SELECT, FROM, WHERE, GROUP BY, HAVING, JOIN을 지원한다. JPA와 마찬가지로 데이터베이스에 의존하지 않는다. JPQL의 필요성 JPA에서는 개발자가 SQL을 작성하지 않고 JPA에서 제공하는 메서드를 이용해 DB 데이터를 조회해온다. 1 Member member = EntityManager.find(Member.class, 100L); cs 그리고 객체 그래프를 탐색해 연관된 데이터를 다시 조회해온다...

    [JPA] JPA로 CRUD 작성하기

    [JPA] JPA로 CRUD 작성하기

    0. 개발환경 Java : JDK 1.8.0_151 IDE : IntelliJ 1. Maven 의존성 추가 pom.xml에 아래 코드를 작성해 의존성을 추가한다. 위에서부터 Hibernate와 MariaDB JDBC이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 4.0.0 jpa-basic ex1-jpa-basic 1.0.0 org.hibernate hibernate-core 5.3.10.Final org.mariadb.jdbc mariadb-java-client 2.6.0 Colored by Color Scripter cs 2. JPA 설정파일(persistence.xml) 작성 resources 폴더 하위에 ..

    [JPA] Dialect(방언)

    [JPA] Dialect(방언)

    세상엔 많은 데이터베이스 제품이 존재하고, 각각의 제품은 표준 SQL(ANSI SQL)을 제외한 독자적인 기능을 위한 SQL도 존재한다. SQL Server : ANSI SQL + T-SQL Oracle : ANSI SQL + PL/SQL 기타 등등... 그리고 각각의 데이터베이스에서 제공하는 문법과 함수가 차이가 있다. 가변문자 : VARCHAR(MySQL), VARCHAR2(Oracle), NVARCHAR(SQL Server) 문자열 자르는 함수 : SUBSTRING(표준 SQL), SUBSTR(Oracle) 페이징 : LIMIT(MySQL), ROWNUM(Oracle) 이러한 차이를 방언(Dialect)라고 하며, JPA에서는 추상화된 방언 클래스를 제공한다. JPA를 사용하지 않으면 애플리케이션의..

    [JPA] JPA가 뭘까?

    [JPA] JPA가 뭘까?

    1. JPA의 필요성 대부분의 애플리케이션은 객체 지향 언어로 개발되고있다. 반면, 데이터베이스는 OracleDB, MySQL, SqlServer 등 관계형 데이터베이스(RDMBS)가 주류를 이루고 있다. 때문에, 객체화된 데이터를 관계형 데이터베이스에 저장하게 되는 상황이고 그것을 위해 개발자가 SQL문을 작성하게된다. 그러다보니 자연스럽게 애플리케이션 개발 자체가 SQL을 중심으로 진행이 되는데, 그 과정에서 아래와 같은 문제점이 발생한다. Entity마다 CRUD를 위한 쿼리 작성이 필요하다. 하나의 테이블 당 최소 4개의 SQL문(SELECT, INSERT, UPDATE, DELETE)을 작성해야한다! 객체를 SQL로, SQL을 객체로 변환해주는 과정이 매번 필요하다. 테이블의 컬럼 구성이 변경되..

    [Docker] 컨테이너 bash에 vim 설치하기

    [Docker] 컨테이너 bash에 vim 설치하기

    MariaDB 컨테이너를 추가하고 bash에서 vim을 사용하려했는데, 아래 오류가 떴다. vi : command not found... vi가 설치되어있지 않은가보다. 그래서 vim을 설치하기로했다. 설치에 앞서, 우선 컨테이너의 OS를 확인한다. 컨테이너의 bash에 접속해 아래 커맨드를 입력하자. 1 cat /etc/*-release cs 이 컨테이너는 우분투가 설치되어있다. 그래서 apt-get으로 vim을 설치한다. 설치 방법은 매우 간단하다. 아래 커맨드 3개를 순서대로 수행하면 된다. 1 2 3 4 5 apt-get update apt-get install nano apt-get install vim cs 모두 수행하고나면 vim을 사용할 수 있다!

    [Docker] MariaDB 설치하기

    [Docker] MariaDB 설치하기

    오늘은 Docker에 MariaDB를 설치해본다. 그리고 오늘도 30분 만에 끝났다. Docker는 미쳤어 1. MariaDB 이미지 다운로드 윈도우 CMD 창을 연다. 아래 커맨드로 이미지를 다운로드한다. 1 docker pull mariadb cs 2. MariaDB 컨테이너 추가 및 구동 이미지가 다운로드되면 아래 커맨드로 컨테이너를 추가하고 구동한다. 1 docker run --name mariadb -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mariadb mariadb cs --name mariadb : 컨테이너의 이름을 mariadb로 지정 -d : 컨테이너를 백그라운드로 실행 -p 3306:3306 : 호스트-컨테이너 간 포트 연결. 호스트에서 3306 포트 접속 ..

반응형