1. 이 포스트는 Spring Web + Hibernate Update와 연결되는 포스트이다. 2. 고객 정보를 삭제하는 기능을 추가한다. 2-1 list-customers.jsp에 고객리스트의 update링크 옆에 delete를 추가한다. 2-2 CustomerDAO와 구현클래스에 deleteCustomer 메소드를 추가한다. 2-3 CustomerService와 구현클래스에 deleteCustomer메소드를 추가한다. 2-4 CustomerController에 수정된 CustomerService를 사용하도록 변경한다. 3. 고객 리스트에 delete링크를 추가한다. 3-1 추가된 부분은 c:url의 deleteLink 변수와 링크에서 사용하는 부분이다. 3-2 링크를 클릭시 confirm박스를 화면에..
1. 이 포스트는 Sprnig Web + Hibernate Add의 연속 포스팅이다. 2. 고객의 정보를 업데이트하는 부분이다. 2-1 고객 리스트에서 각 고객의 리스트에 update 버튼을 추가하도록 jsp 페이지 수정 2-2 CustomerDAO에서 한 명의 고객정보를 가지고 오는 메소드를 추가 2-3 CustomerService에서 한 명의 고객정보를 가지고 오는 메소드를 추가 2-4 업데이트 버튼을 눌렀을 때 update 화면으로 가는 Controller를 작성한다. 2-5 수정한 정보를 처리하는 Controller 메소드 작성 2-6 고객정보 저장 뿐 아니라 수정도 가능하도록 CustomerDAO의 saveCustomer 메소드 수정 3. 고객 정보 수정이 가능하도록 list-customers...
1. 지난 Spring Web + Hibernate의 연속 포스팅이다. 2. 고객을 추가하는 모듈이다. 2-1 우선 고객을 추가하는 form을 제공하는 jsp를 생성한다. 2-2 form을 보여주는 Controller mapping 메소드를 작성한다. 2-3 CustomerDAO에 데이터베이스 Customer 저장 메소드를 만든다. 2-4 ServiceDAO에 Customer를 저장하는 서비스 메소드를 만든다. 2-5 입력된 form을 처리하는 Controller 메소드를 만든다. 3. 고객 추가를 위한 form을 제공하는 jsp 소스 3-1 bootstrap 때문에 쓸대 없이 복잡해 보이지만 중요한 부분은 form:form 같은 form validation처리이다. 3-2 일반적인 form 입력 jsp..
1. 서비스 Layer는 Facade 디자인 패턴을 사용한다. 2. Facade 정확하게 원하는 기능의 메소드를 제공하고 패턴은 세부적인 것을 내부적으로 감춘다. 2-1 Information hiding을 서비스를 레벨에서 제공한다. 2-2 데이터베이스의 여러 테이블, 외부 데이터 소스 등의 다양한 데이터의 출처와 상관없이 정확한 서비스를 제공한다. 2-3 일반적으로 다양한 테이블의 데이터를 조합하여 원하는 데이터를 제공하는 용도로 많이 사용한다. 3. @Service annotation을 클래스 정의에 사용한다. 3-1 @Service는 @Repository, @Controller와 동일하게 @Component를 상속하고 있다. 4. 여기서는 가장 간단한 기능의 서비스 구현 코드이다. 사실 동작에는 필..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dIsyvS/btqD1rmuVNa/0O3WxjjR15dePSmJ5NnHB0/img.png)
-1. 예제를 위해 Customer 테이블을 생성한다. -1-0 사용자 springstudent를 만들고 암호도 springstudent를 생성한다. -1-1 web_customer_tracker라는 데이터베이스를 생성한다. -1-2 Customer 테이블을 생성한다. 0. Web과 Hibernate를 위한 Dependency를 추가한다. (Bold 부분은 WebMVC에 hibernate를 붙이기 위해 추가로 필요) 0-1 스프링 기본적인 동작을 위한 spring core, spring context 0-2 스프링 Web을 위한 spring WebMvc 0-3 스프링 transaction처리를 위한 spring tx 0-4 스프링 ORM사용을 위한 spring orm 0-5 하이버네이트를 위한 hiber..
1. 쉬운 부분만 남았다. Part1의 코드를 사용하여 실행하는 부분이다. 2. 과정과 학생 정보를 생성하고 그 후에 저장하는 예제이다. 2-1 중요한 부분은 둘 다 managed state가 된 후에 연결을 정의해야 한다. 2-2 즉 session.save()를 호출하여 각 Entity가 하이버네이트에 의해 관리된 상태가 되어야 한다는 말이다. 2-3 예를 들면 새로운 과정을 생성하거나 get으로 가져온 후 2-3-1 학생을 session.save로 저장하지 않고 setStudent로 추가 후 session.save로 과정을 저장하는 경우 2-3-2 Student가 transient 상태라고 오류가 발생한다. 2-3-3 학생정보를 저장한 후 연결해야 한다. public class CreateEntity..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/zx34L/btqDWT4ixDl/GR0KkBasqaDHEIXGcxtQkK/img.png)
0. 학생 테이블을 도입하여 과정과 학생의 Many to Many 관계를 설명한다. 0-1 상식적으로 과정이 삭제되었다고 학생 데이터가 삭제되면 안된다. 0-2 학생 정보가 삭제되었다고 과정 정보가 삭제되면 안된다. 0-3 즉 cascade에 delete가 포함되면 안된다. 0-4 이 예제는 Many to Many 관계이므로 기본 FetchType이 Lazy이다 별도 설정이 필요없다. 1. Many To Many Mapping에는 Join Table이라는 별도의 테이블을 작성해서 표현한다. 2 JoinTable 이란 두 테이블 사이에 매핑정보를 제공하기 위한 테이블이다. 2-1 이 테이블은 두 테이블을 연결하기 위해 두 테이블의 primary key를 매핑하고 있다. 2-2 이 예제에서는 course_s..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/WK7zQ/btqDWr06dms/2K37AYa9sRX52ZCGcGpVa0/img.png)
1. 코스 테이블과 리뷰 테이블 두개의 관계를 가지고 설명한다. 2. 코스와 리뷰는 One To Many의 관계를 가진다. 3. 코스가 삭제되면 리뷰 역시 삭제되어야 한다. 4. 아래는 데이터베이스 구조 도식이다. 4-1 review 테이블이 추가되었고 4-2 review 테이블의 course_id가 foreign key로 설정되어 있다. 2. One to Many uni-directional은 전의 one-to-one과 one-to-many와는 좀 다르다. 2-1 uni-directional의 방향이 foreign key가 있는 테이블에서 시작하는 경우는 설정이 동일하다. 2-1-1 해당 Entity에 관계하는 Entity의 속성을 추가하고 @Many-To-One과 @JoinColumn을 붙이면 된다...
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- 하이버네이트
- 스프링부트
- 스프링
- jsp
- crud
- 매핑
- one-to-one
- one-to-many
- form
- Spring Security
- 자바
- Security
- 상속
- WebMvc
- 설정하기
- Angular
- 로그인
- XML
- mapping
- Many-To-Many
- spring boot
- 설정
- Rest
- 외부파일
- MYSQL
- hibernate
- RestTemplate
- login
- Validation
- Spring