사용자 요청 -> 커넥션 조회 -> 드라이버 매니저 내부에서 db와 tcp/ip 커넥션 연결 -> 기타 부가정보를 DB에 전달 -> 아이디, 비밀번호를 통해 내부 인증 완료하고 DB 세션 생성 -> DB 드라이버가 커넥션 객체 생성해서 반환특징: 데이터베이스 커넥션 생
데이터베이스가 제공하는 트랜잭션은 두 작업이 모두 성공해야 저장하고, 중간에 하나라도 실패 시 전의 상태로 돌아가게 됨 모두 성공 시 Commit을 통해 정상 반영되고, 실패해서 이전으로 RollBack을 통해 되돌릴 수 있음원자성 : 트랜잭션 내에서 실행한 작업은 모
JDBC 표준 인터페이스 과거에는 애플리케이션 서버 입장에서 커넥션을 db와 연결 -> 각각의 데이터베이스 유형마다 연결 방식이 상이 -> 문제 해결을 위해 JDBC 표준 인터페이스 등장 JDBC 드라이버: JDBC 인터페이스를 각각의 DB 벤더에서 자신의 DB에 맞도
프레젠테이션 계층: ui와 관련된 처리, 웹 요청과 응답, 사용자 요청 검증서비스 계층: 비즈니스 로직 담당데이터 접근 계층: 실제 데이터베이스에 접근하는 코드 서비스 계층에 핵심 비즈니스 로직이 들어있으므로, 최대한 변경 없이 유지되도록 하기 위해 계층을 분리 데이터
Error : 애플리케이션에서 복구 불가능한 시스템 예외 -> catch 로 상위 예외를 잡으면 하위 예외까지 같이 잡히기 때문에 Exception부터 필요한 예외로 생각하고 잡으면 됨Exception: 체크 예외, 실질적 최상위 예외, 하위 예외까지 모두 컴파일러가
jpa에 대해 공부해보기 전에 기존에 사용하던 방식인 sql 중심 개발의 문제점, ORM, JPA의 장점 등에 대해 알아보려고 한다. 관계형 데이터베이스에서는 상속 개념이 없기 때문에 슈퍼타입, 서브타입 관계로 상속 관계를 표현해야 한다. 즉 각각의 테이블에 join
영속성 컨텍스트 엔티티 매니저 팩토리와 엔티티 매니저 고객 요청이 올때마다 Entity Manager Factory를 통해 EntityManager를 각각 생성해서 DB에 접근한다. 영속성 컨텍스트 > - 엔티티를 영구 저장하는 환경이다. 엔티티를
엔티티 매핑 종류 객체 테이블 매핑: @Entity, @Table 필드와 컬럼 매핑: @Coumn 기본키 매핑: @Id 연관관계 매핑 @Entity entity가 붙은 클래스는 JPA가 관리하는 엔티티임, 매핑할 클래스는 필수
스프링 프레임워크 등장 배경 EJB가 자바 진영의 표준 기술로 잘 되어있는 기술이었지만, 굉장히 복잡하고 느리기도 해서 공부하기 어려운 기술이었음 스프링의 등장: EJB 컨테이너를 대체할 수 있게 되었고, 단순하게 개발이 가능하여 현재 사실상 표준 기술이 되었음 > -
WAR 배포 방식의 단점 톰캣 같은 애플리케이션 서버(WAS)를 별도로 설치해야 한다. 애플리케이션 코드를 WAS로 빌드해야 하며, 빌드한 파일을 WAS에 배포해야 한다. 톰캣의 버전을 변경하려면 톰캣을 다시 설치해야 한다. 내장 서버와 외장 서버 이전에는 웹 애플리
서블릿 서블릿은 서버 소켓 연결.. 비즈니스 로직 실행 등까지 다 해줌 HttpServletRequest, HttpServletResponse 를 사용하면 HTTP 요청, 응답 정보 사용 가능 응답 메시지를 편리하게 사용할 수 있도록 해줌 -> 원하는 데이터를 Res