이번에는 JDBC를 활용해서 간단한 등록, 조회, 수정, 삭제를 개발하고 테스트 코드까지 만들어보겠습니다.
TRUE, FALSE은 흔히 알고 있습니다. 그러나 SQL에서는 UNKNOWN까지 통틀어서 Three-valued logic이라고 합니다.
쿼리 안의 쿼리라고 불리는 subquery에 대해서 이야기 해보겠습니다. 또한, EXISTS, ANY, IN 등의 응용 방법도 소개합니다.
데이터를 조회하는 SQL의 SELECT 문법에 대해 알아보고 여러가지 키워드를 알아봅니다.
공부를 하다가 자주 드는 의문이 있었다.'REST API와 Spring MVC의 차이는 뭐지? 언제 사용하는거지?'얼추 알고 있었지만 두루뭉실하게 알고 있던 지식을 정확하게 알고싶어서 글을 작성한다.
하나의 도메인에서 DTO가 여러개 나오게 되면서 클래스 파일도 많아졌다. "이걸 좀 더 효율적으로 소스코드를 줄일 수 있는 방법은 없을까?" 고민을 했다. 답은 static Inner class에 있었다.
데이터 추가하기 (insert) 데이터 수정하기 (update) 데이터 삭제하기 (delete) 조건절과 논리/비교 연산자 (where) 를 알아봅니다.
지난 1편에 이어서 Primary Key, Foreign Key를 알아보고 SQL 문법의 Constrains를 알아봅니다.
SQL의 개념과 데이터베이스를 공부합니다. SQL을 활용해서 DB와 TABLE을 생성해보겠습니다.
관계형 데이터베이스, Relation, Key 등등을 알아보고 이해를 위해서 수학에서의 Relation을 알아봅시다.
DataBase(DB)란 전자적으로(electronically) 저장되고 사용되는 관련있는(related) 데이터들의 조직화된 집합(organized collection)이다.
⭐️ 벌크 연산 엔티티를 수정하려면 영속성 컨텍스트의 변경 감지 기능이나 병합을 사용하고, 삭제하려면 엔티티 매니저의 remove() 메서드를 사용한다. 하지만, 이러한 방법으로 수많은 엔티티를 하나씩 처리하기에는 시간이 오래 걸릴 것이다.
동적 쿼리는 em.createQuery(”select ..”)와 같이 JPQL을 문자로 완성해서 직접 넘기는 것을 동적 쿼리라 한다.
엔티티 직접 사용 - 기본 키 값 객체 인스턴스는 참조 값으로 식별하고 테이블의 행(row)은 기본 키 값으로 식별한다. JPQL에서 엔티티를 직접 사용하면 SQL에서 해당 엔티티의 기본 키 값을 사용한다.
⭐️ JPQL 경로 표현식 JPQL 경로 표현식 경로 표현식이란 .(점)을 찍어 탐색하는 것을 의미한다. 우선 위 SQL을 보는 것만으로는 이해가 쉽게 되지 않으니 다음 경로 표현식 용어 정리를 살펴보자.