◆ 연관관계 매핑 객체의 참조와 테이블의 외래 키를 매핑 방향(Direction) : 단방향, 양방향 / 방향은 객체 관계에만 존재하고 테이블 관계는 항상 양방향 다중성(Multiplicity) : 다대일, 일대다, 일대일, 다대다 @ManyToOne 다대일 관계 매핑 [N:1] 연관관계 매핑시 다중성 어노테이션은 필수 속성 설명 기본값 optional false로 설정하면 연관된 엔티티가 항상 있어야 함 true fetch 글로벌 패치 전략을 설정 @ManyToOne=FetchType.EAGER@OneToMany=FetchType.LAZY cascade 속성 전이 기능을 사용 targetEntity 연관된 엔티티의 타입 정보를 설정 이 기능은 거의 사용하지 않는다 컬렉션을 사용해도 제네릭으로 타입 정보..
3. Entity 엔티티는 영속성을 가진 객체로 DB 테이블에 보관할 대상(영속 컨텍스트에 속한 객체) 이러한 엔티티는 특정한 시점에 DB에 영향을 미치는 쿼리를 실행 ◆ 엔티티를 설정하는 방법 1. @Entity 어노테이션을 이용 2. xml 설정을 이용 function Annotation 객체와 테이블 매핑 @Entity, @table 기본 키 매핑 @Id 필드와 컬럼 매핑 @Column 연관관계 매핑 @ManyToOne, @JoinColumn @Entity JPA를 사용할 클래스를 명시하며, 테이블과 매핑하는 역할 @Entity가 붙은 클래스는 JPA가 관리하는 클래스로, 해당 클래스를 엔티티라고 함. JPA를 사용해서 테이블과 매핑할 클래스는 반드시 @Entity 를 붙여야 함. @Entity의 ..
2. JPA 사용 설정 2-1 라이브러리 설정 ( pom.xml 선언 ) org.springframework.boot spring-boot-starter-data-jpa mysql mysql-connector-java runtime org.projectlombok lombok true 2-2 application.yml 설정 spring: data: jdbc: repositories: enabled: false datasource: driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy url: username: password: hikari: auto-commit: false connection-test-query: SELECT 1 minimum-idle:..
1. JPA (Java Persistence API) 란? DB 테이블과 자바 객체 사이의 매핑을 처리해주는 ORM 기술 표준(자바의 클래스와 DB의 테이블을 매핑하는 기술) 자바 ORM의 기술 표준 대표적인 오픈 소스가 Hibernate 객체를 통해 쿼리를 작성할 수 있는 JPQL(Java Persistence Query Language)를 지원 ◆ 장점 RDB에 종류와 관계없이 사용 가능. 추후 DB 변경이나 코드 재활용에 용이. 기본적인 CRUD 제공과 페이징 처리 등 상당 부분 구현되어 있어 비즈니스로직에 집중 가능. 테이블 생성, 변경 등 엔티티 관리가 간편함. 쿼리에 집중할 필요 없어 빠른 개발이 가능. [ 참고 링크 ] JPA 프로그래밍 https://ultrakain.gitbooks.io/..
① DBMS(DataBase Management System) 다수의 사용자들이 데이터베이스에 접근 할 수 있도록 해주는 소프트웨어 도구 ② DBMS 종류 : MySQL, ORACLE, Postgres ③ JDBC(Java DataBase Connectivity) JAVA에서 데이터베이스에 접속하기 위한 DBMS 접속 인터페이스 ④ ORM(Object-relational mapping) 객체 지향 프로그래밍에서 객체(Object)와 관계형 데이터베이스의 데이터(Table)를 자동으로 매핑시켜주는 개념 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용 객체 모델과 관계형 모델 간에 불일치가 존재 ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결 ..
4. Thymeleaf 템플릿 만들기 [ https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#template-layout ] ◆ 템플릿 파일 위치 ( 확장자 : HTML ) [ 경로 ] src/main/resources/templates ※ src/main/resources( 기본 설정 ) , /templates ( application.yml 선언 prefix: classpath:/templates/ ) ◆ 타임리프 파일 선언 레이아웃이 되는 파일 선언 레이아웃 안에 들어가는 조각(fragment) 선언 만들어진 레이아웃을 사용하는 파일 선언 ◆ 레이아웃 생성 순서 1. head, header, footer 영역 include 파일 만들기 ..
3. Thymeleaf 기본문법 Name Thymeleaf 사용하기 위해 th 네임스페이스 추가 Controller에서 Model로 받아온 name 사용 Name ◆ 컨트롤러 @Controller public class SampleController { @GetMapping("/hello") public String hello(Model model) { model.addAttribute("name", "kepco"); return "hello"; } } @Controller 이기 때문에 return하는 String은 View의 이름이 된다. Model data를 받을 model을 선언 ◆ 기본 표현식 [ https://www.thymeleaf.org/doc/tutorials/3.0/usingthymele..
2. Thymeleaf 사용 설정 2-1 Maven dependencies 추가 ( pom.xml ) spring-boot-starter-thymeleaf thymeleaf 뷰 템플릿 엔진을 사용하기 위한 기본적인 라이브러리 org.springframework.boot spring-boot-starter-thymeleaf thymeleaft-layout-dialect thymeleaf를 이용해서 layout을 만들기 위해 추가적으로 사용되는 라이브러리 header, contents, footer 등으로 나누고 header와 footer는 고정한 뒤 contents 영역만 바꿔가면서 렌더링을 가능하게 해줌 nz.net.ultraq.thymeleaf thymeleaf-layout-dialect 2-2 app..
1. Thymeleaf 란? 텍스트, HTML, XML, Javascript, CSS 그리고 텍스트를 생성할 수 있는 템플릿 엔진. 순수 HTML로 템플릿을 작성 가능 Spring Boot에서 사용이 권장 (Spring Boot에서는 JSP를 추천 않음.) 데이터와 분리된 화면 개발 및 관리 가능. [ 참고 링크 ] 타임리프 공식사이트 마이그레이션 가이드 타임리프 타임리프 + spring https://www.thymeleaf.org/ https://www.thymeleaf.org/doc/articles/thymeleaf3migration.html https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html https://www.thymeleaf.or..
TABLE Create CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, .... ); 기존 테이블 복사해서 테이블 생성 CREATE TABLE new_table_name AS SELECT column1, column2,... FROM existing_table_name WHERE ....; DROP DROP TABLE table_name; ALTER 열 추가 ALTER TABLE table_name ADD column_name datatype; 열 삭제 ALTER TABLE table_name DROP COLUMN column_name; 열 변경 열 수정 SQL Server MS Access ALTER TABL..
- Total
- Today
- Yesterday
- DB #DBCREATE #DBDROP #DBBAKUP
- jQuery #jQuery이미지슬라이드 #이미지슬라이드
- S-Core
- JPA Auditing #JPA
- 지마켓산스(Gmarket Sans)체 #지마켓산스 #Gmarketfont #GmarketSans #무료폰트 #타이틀폰트 #디자인폰트 #웹폰트
- JPA #JPA설정
- DTO #Entity
- Hibernate #ORM
- JDBC #DBMS
- JPA #JPARepository
- JPA #
- ORM종류
- 세방고딕체 #웹폰트 #무료폰트 #무료웹폰트 #디자인폰트 #이벤트폰트 #디자인폰트 #타이틀용폰트
- SQL명령어 #SQL
- SELETE
- JPA #JPAEntity
- 프리텐다드폰트 #고딕폰트 #무료폰트 #타이틀용폰트 #고딕 #웹폰트 #디자인폰트
- 이벤트폰트 #이벤트용폰트 #디자인폰트 #디자인서체 #웹폰트
- JPA Repository query keywords
- Thymeleaf #타임리프
- 카페24폰트 #무료폰트 #무료웹폰트
- SELECTANY #SELECTALL
- 나눔폰트 #네이버글꼴 #네이버폰트 #고딕폰트 #본문폰트 #제목폰트 #무료폰트 #디자인폰트 #웹폰트
- JPA #JPAEntity #JPA연관관계
- S-CoreDream
- thymeleaf
- 무료폰트 #무료웹폰트 #평창평화체 #평화체 #이벤트용서체 #이벤트서체 #디자인폰트
- SQL #SQLJOIN #JOIN #INNERJOIN #OUTERHJOIN
- SQL #TABLE생성 #SQL제약조건
- SQL #INSERTINTO #DELETE #UPDATE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |