본문 바로가기
반응형

BackEnd83

[DB] JDBC 개념 # 목적: JDBC에 대한 기초 개념 정리JDBC 란?- Java DataBase Connectivity- 자바가 데이터베이스에 접속해서 SQL을 실행할 수 있도록 하는 표준- java.sql 패키지와 javax.sql 패키지에 관련 인터페이스와 클래스가 존재함JDBC API의 주요 객체1. Connection 인터페이스: 데이터베이스와의 연결을 담당하는 객체2. PreparedStatement 인터페이스: SQL의 전송과 실행을 담당하는 객체3. ResultSet 인터페이스: 조회결과를 포함하고 있는 객체Java의 데이터베이스 액세스 절차오라클 jdbc driver를 로딩해서 드라이버 레지스트리에 등록시킨다.드라이버 레지스트리에 등록된 오라클 jdbc driver를 이용해서오라클 데이터베이스와 연결을 .. 2025. 1. 19.
[DB] 데이터베이스 기초 용어 정리 - DBMS, SQL, 관계형 데이터베이스 # 목적: 데이터베이스(Database) 관련 기초 용어 정리 - DBMS, SQL, 관계형 데이터베이스# 데이터베이스(Database) 란?- 여러 사람들이 공유하고 사용할 목적으로 통합관리되는 정보의 집합- 관련성 있는 데이터의 모음- 데이터베이스는 반드시 데이터베이스 관리 시스템(DataBase Management System, DBMS)과 함께 한다.# DBMS 란?- Database Management System의 약자- 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합- 사용자 또는 다른 프로그램의 요구를 처리하고 적절히 응답하여 데이터를 사용할 수 있도록 해준다.- DBMS를 통해 DB를 사용한다.- 관계형 데이터베이스(Relational Data.. 2025. 1. 19.
[Spring] REST API ❓ REST APIREST : Representation State Transfer의 약자자원을 이름(자원에 대한 표현)으로 구분하여 해당 자원의 상태(자원의 정보)를 주고 받는 방식의 소프트웨어 아키텍처* Representation : 자원의 표현, 요청 URI로 표현* State : 자원의 현재 상태HTTP URI를 통해 자원을 명시한다.* URL : 자원이 실제로 존재하는 위치* URI : 자원의 위치뿐만 아니라 자원에 대한 고유 식별자로서, URL을 포함하는 상위 개념HTTP Method (GET, POST, PUT, DELETE)을 통해 해당 자원에 대한 CRUD Operation을 명시한다.웹의 모든 자원에 대해서 고유한 ID(HTTP 요청 URI)를 부여한다.👥 등장배경단순하게 하나의 브라.. 2025. 1. 19.
[Spring JPA] 스프링 애플리케이션의 JPA open-in-view 설정 (Feat. 지연로딩) Spring 애플리케이션의 open-in-view 설정spring.jpa.open_in_view 설정 : 커넥션을 언제 반납할지를 결정하는 설정spring.jpa.open_in_view=true : 응답이 완료될 때 커넥션 반납spring.jpa.open_in_view=false : 서비스의 메소드가 종료될 때 커넥션 반납기본값 : true기본값이 true이기 때문에 응답이 완료될 때까지 커넥션이 반납되지 않는다.true로 설정하는 경우는 관리자 페이지와 같이 사용량이 많지 않은 경우, 지연로딩을 @Transactional 어노테이션이 부착된 곳을 벗어나 뷰 템플릿에서도 사용할 수 있다.단, 사용량이 많은 서비스인 경우에는 커넥션을 바로 반납하는 것이 좋기 때문에 false로 설정해야 한다.false로 .. 2025. 1. 19.
[Spring JPA] 연관관계(OneToMany, ...)의 즉시로딩과 지연로딩 지연로딩(FetchType.LAZY)실제 객체를 사용하는 시점에 데이터를 조회한다.예시)@Entitypublic class Member { @Id Long id; String name; @ManyToOne(fetch = FetchType.LAZY) Team team;}Member를 조회하면 id와 name에는 MEMBER 테이블을 조회해서 획득한 데이터가 저장되어 있다.team에는 프록시객체가 대입되어 있다. (Team객체가 대입되어 있지 않다.)getTeam() 메소드를 실행해서 Team을 조회하면 프록시 객체가 반환된다.getTeam().getXXX() 메소드를 실행하면 비로소 SQL을 실행해서 DB에서 데이터를 조회한다.위의 예시에서는 SQL이 2번 실행된다.se.. 2025. 1. 19.
[Spring JPA] Spring Data JPA의 쿼리 메소드 작성 규칙 ✔️ Spring Data JPA의 쿼리 메소드 작성 규칙* By의 B는 반드시 대문자로 작성1. 데이터 조회find...By... 형식으로 작성2. 데이터 개수 조회count...By... 형식으로 작성반환타입 : Long 값3. 데이터의 존재 여부 조회exists...By... 형식으로 작성반환타입 : boolean 값4. 데이터 삭제delete...By... 형식으로 작성5. 데이터 조회 제한findFirst...By...findFirst3...By...findTop...By...findTop3...By... 형식으로 작성➖ Spring Data JPA가 지원하는 키워드1. Distinct중복행 제거findDistinctByLastnameAndFirstname(String lastname, Stri.. 2025. 1. 19.