분류 전체보기
-
영속성 관리 - 내부 동작 방식김영한(인프런 강의)/자바 ORM 표준 JPA 프로그래밍 2020. 9. 29. 12:07
JPA 에서 중요한 것 2가지 1. 객체와 관계형 데이터베이스 매핑하기 (Object Relational Mapping) 2. 영속성 컨텍스트 위 2가지인데 이번 글에서는 영속성 컨텍스트를 볼 것이다. 영속성 컨텍스트를 보기 전 JPA동작 과정을 알아야한다. 특히 엔티티 매니저 팩토리와 엔티티 매니저를 확인해 보자. 영속성 컨텍스트란? 1. JPA를 이해하는데 가장 중요한 용어 2. "엔티티를 영구 저장하는 환경"이라는 뜻 3. EntityManager.persist(entity); - DB에저장한다는 뜻이 아니다. - 엔티티를 영속성 컨텍스트에 저장한다는 뜻 엔티티매니저와 영속성 컨텍스트의 매핑 관계 1. J2SE 환경 - 엔티티 매니저와 영속성 컨텍스트가 1:1 - 엔티티 매니저와 영속성 컨텍스트가 ..
-
JPA 세팅 및 기본 실습김영한(인프런 강의)/자바 ORM 표준 JPA 프로그래밍 2020. 9. 28. 14:32
JPA 개발 세팅 1. 사용 DB는 H2를 사용 1) http://www.h2database.com/ 2) 최고의 실습용 DB 3) 가볍다.(1.5M) 4) 웹용 쿼리툴 제공 5) MySQL, Oracle 데이터베이스 시뮬레이션 기능 6) 시퀀스, AUTO INCREMENT 기능 지원 2. Maven 사용 1) https://maven.apache.org/ 2) 자바 라이브러리, 빌드 관리 3) 라이브러리 자동 다운로드 및 의존성 관리 4) 최근에는 그래들(Gradle)이 점점 유명 3. 프로젝트 생성 4. JPA 설정하기 - persistence.xml 1) JPA 설정 파일 2) /META-INF/persistence.xml 위치 3) persistence-unit name으로 이름 지정 4) jav..
-
JPA은무엇인가?김영한(인프런 강의)/자바 ORM 표준 JPA 프로그래밍 2020. 9. 28. 12:11
SQL중심의 개발의 문제점 1. CRUD같은 지루한 방식의 연속과 SQL에 의존적인 개발 1) 아래의 코드를 보게 된다면 데이터를 저장한 코드를 가지고 CRUD중심적인 개발 2) 조회 parameter와 결과값을 객체에 저장 public class Member { private String memberId; private String name; ... } INSERT INTO MEMBER(MEMBER_ID, NAME, TEL) VALUES SELECT MEMBER_ID, NAME, TEL FROM MEMBER M UPDATE MEMBER SET … TEL = ? 2. SQL위주의 개발을 하게 된다면 객체지향프로그래밍 개발을 하기 어렵다. 객체지향프로그래밍은? 추상화, 캡슐화, 정보은닉, 상속, 다형성 등..
-
HTTP 요청 매핑하기 - URI 패턴 매핑백기선(인프런 강의)/스프링 웹 MVC 2020. 9. 25. 18:19
요청 식별자로 매핑하기 @requestMapping은 다음의 패턴을 지원 ? : 한글자 /author/??? -> /authour/123 * : 여러글자 /author/* -> /author/jinSeok ** : 여러패스 /author/** -> /author/jinSeok/book @RestController public class SampleController2 { @GetMapping({"/hello", "/hi"}) @ResponseBody public String hello() { return "hello"; } @GetMapping({"/hello?"}) @ResponseBody public String hello2() { return "hello"; } @GetMapping({"/hello..
-
HTTP 요청 매핑하기 - 요청 메소드백기선(인프런 강의)/스프링 웹 MVC 2020. 9. 25. 11:50
HTTP Method GET POST PUT PATCH DELETE GET 요청 클라이언트가 서버의 리소스를 쵸어할 때 사용 캐싱할 수 있다(조건적인 GET으로 바뀔 수 있다) 브라우저 기록에 남는다 북마크 할 수 있다 민감함 데이터를 보낼 때 사용하지 않는다(URL에 존재) imdempotent 먹등성 여러번 요청을 하더라도 결과가 달라지지 않는 성질 POST 요청 클라이언트가 서버의 리소스를 수정하거나 새로 만들 때 사용 서버에 보내는 데이터를 POST 요청 본문에 담는다 캐시할 수 없다 브라우저 기록에 남지 않는다 북마크 할 수 없다 데이터 길이 제한이 없다. URI를 보내는 데이터를 처리할 리소스를 지칭 PUT 요청 URL에 해당하는 데이터를 새로 만들거나 수정할 때 사용 POST와 다른점은 "U..
-
-
HTTP 메시지 컨버터 : XML백기선(인프런 강의)/스프링 웹 MVC 2020. 9. 19. 15:27
OXM(Object-XML Mapper) 라이브러리 중에 스프링이 지원하는 의존성 추가 JacksonXML JAXB 스프링 부트를 사용하는 경우 기본으로 XML 의존성 추가해주지 않기 때문에 아래와같이 의존성을 추가해 준다. javax.xml.bind jaxb-api org.glassfish.jaxb jaxb-runtime org.springframework spring-oxm ${spring-framework.version} 예제 package kr.co.study; import static org.springframework.test.web.client.match.MockRestRequestMatchers.jsonPath; import static org.springframework.test.web...