Back-end
-
Java - JDBC란?Back-end/Java 2021. 8. 5. 15:44
이번 포스팅은 JDBC에 대한 포스팅을 준비했습니다. JDBC가 없이 DB에 접근해서 CRUD를 구현하는 것은 정말 끔찍한 일입니다. 그래서 Java진영에서 API를 제공하여 개발자들의 편의를 충족시켜주고 있습니다. 이렇게 편리한 JDBC에 대해서 알아보겠습니다. ❓ 왜 JDBC가 생겨났을까? 수 많은 데이터베이스 종류에 따라서 각각의 SQL문을 사용해야해서 불편함이 많았습니다. 그래서 JAVA진영에서 그것을 통합해서 사용하기 편하게 메서드와 전역변수를 통합한 API를 출시하게 되었습니다. 바로 그것이 JDBC입니다. ❓ JDBC(JAVA DATABASE CONNECTIVITY)란? JDBC는 자바 프로그램과 DB간의 데이터 전송을 지원해주는 인터페이스(자바 API)입니다. 그래서 이런 인터페이스들을 J..
-
Java - Entity, DTO, VO란?Back-end/Java 2021. 8. 2. 13:25
이번 포스팅은 프로젝트를 하며 헷갈리기 쉬운 Data객체에 대해서 포스팅 해볼려고 합니다. Entity, DTO같은 경우는 워낙 많이 쓰는 객체다보니 알기 쉬울 수도 있습니다. 그러나 VO객체는 DTO와 겹치는 부분이 많지만 저의 개인적인 견해로 어떤 부분에 쓰이는지 설명했습니다. 설명 시작하겠습니다. ❗ 목적 이번 챕터의 목적은 위 3개의 객체가 역할이 어떻게 되고 어느 상황에서 쓰이는지 확인하기 위한 목적입니다. 1. Entity Entity는 DB Layer접근을 위한 객체입니다. 그리고 각 속성들은 DB의 필드명과 1:1매칭이됩니다. 그리고 이 클래스는 "순수"한 객체(POJO)여야만 합니다. 일관성을 위해서 Setter를 적어주기보다는 Builder패턴을 이용하여 접근합니다. 아래 예시 입니다...
-
JPA(2) - 영속성 컨테이너란?Back-end/JPA 2021. 8. 1. 20:31
이번 포스팅은 영속성 컨테이너의 개념 및 동작원리에 대해서 포스팅해보겠습니다. JPA를 사용 할 경우 Hibernate라는 라이브러리를 이용하시는데 이것이 영속성 컨테이너를 만들고 동작하게 합니다. Hibernate도 따로 포스팅을 하도록 하겠습니다! 오늘은 JPA 영속성 컨테이너에 대해서 알아보시죠! ❗ JPA의 영속성 컨텍스트 사용목적 영속성 컨텍스트의 사용 목적은 캐싱기능 및 자동 수정기능이라고 할 수 있습니다. 굳이 DB에 접근하지 않아도 컨텍스트에서 많은 정보들을 얻어 올 수 있어 더 효율적입니다. 📽️ 영속성 컨텍스트의 기본 동작 크게는 EntityManagerFactory, EntityManager, 커넥션 풀로 이루어져 있습니다. 이렇게 서버로 요청이 올 때마다 Thread를 한 개씩 생성..
-
JPA(1) - JPA란?Back-end/JPA 2021. 7. 31. 10:47
JPA의 기본적인 개념에 대해서 설명하겠습니다. 📖JPA의 개념 자바 진영의 ORM(Object Relational Mapping)의 대표적인 기술입니다. ORM이란 객체와 관계형 데이터베이스를 맵핑시켜주는 기술입니다. 애플리케이션과 JDBC중간에서 SQL문 없이 DB접근이 가능하도록 만든 기술입니다. JPA를 구현한 라이브러리 구현체로는 Hibernate, DataNucleus, EclipsLink가 있습니다. ORM : 객체를 중심으로 DB와 연동하여 맵핑(JPA) SQL-Mapping : SQL문으로 직접 DB를 조작(JdbcTemplet, Mybatis) ❗JPA의 사용 목적 JPA의 사용목적은 단순한 JDBC의 SQL문을 줄여 SERVICE로직에 집중 할 수 있게 하는 것입니다. 👉🏾JPA동작 ..