5. 오라클 연동
-오라클 설치
**filelist에서 두번 째 파일 다운
*다운로드 완료 후 압축 해제
*exe 파일로 실행
-오라클 테스트
**테스트 완료 후 접속 버튼으로 생성
*오라클 실행 후 새로 만들기 실행
*오라클 테스트
-오라클 연동하기
*dependency, repositories 추가(pom.xml)
<repositories>
<repository>
<id>oracle</id>
<name>ORACLE JDBC Repository</name>
<url>http://maven.jahia.org/maven2</url>
</repository>
</repositories>
... ...
<!--oracle-->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.2</version>
</dependency>
<!--jpa-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
*저장 후 dependency 확인
**maven에 dependency가 없다면 java project에 dependency 확인
*환경 설정(application.properties)
**저장 후 재시작
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@1.234.5.158:11521/xe
spring.datasource.username=id311
spring.datasource.password=pw311
spring.jpa.hibernate.ddl-auto=update
*테이블, 시퀀스 생성하기(Board.java)
package com.example.entity;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import org.hibernate.annotations.CreationTimestamp;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@NoArgsConstructor
@ToString
@Entity // 엔티티 => 자동으로 테이블 생성
@Table(name = "BOARD1") // 테이블명
@SequenceGenerator(
name = "SEQ_BOARD1",
sequenceName = "SEQ_BOARD1_NO",
initialValue = 1, allocationSize = 1) // 시퀀스 생성(자동으로 증가되는 번호
public class Board {
@Column(name = "NO") // 칼럼명
@Id // 기본키(중복x)
// 여기에 추가되는 정보는 위에 생성한 시퀀스 사용
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_BOARD1")
private Long no = 0L; // 글번호
@Column(name = "TITLE")
private String title = null; // 글제목
@Column(name = "CONTENT")
private String content = null; // 내용
@Column(name = "WRITER")
private String writer = null; // 작성자
@Column(name = "HIT")
private int hit = 1; // 조회수
@CreationTimestamp // 날짜는 자동으로 추가
@Column(name = "REGDATE")
private Date regdate = null; // 날짜
}
*entity 등록하기(Boot20210914Application.java)
@EntityScan(basePackages = { "com.example.entity" })
*오라클 실행
**기존에 만든 oracle1을 새로고침 한뒤 테이블과 시퀀스가 있는지 확인한다.
**시퀀스가 없을 경우 : vscode에 terminal 종료 후 application.properties의 코드 중
spring.jpa.hibernate.ddl-auto=update 의 update 를 create-drop 로 변경 후 저장
이후 run 한 뒤 오라클을 새로 고침하여 시퀀스 생성 확인.
그리고 다시 create-drop -> update 로 변경 후 재시작.
*저장소 생성(repository)
**BoardRepository.java 생성
package com.example.repository;
import com.example.entity.Board;
import org.springframework.data.jpa.repository.JpaRepository;
public interface BoardRepository extends JpaRepository<Board, Long> {
}
*저장소 등록(Boot20210914Application.java)
@EnableJpaRepositories(basePackages = { "com.example.repository" })
'Spring' 카테고리의 다른 글
Spring 일지 #7 (20210914) 화면 구현(상세 페이지,수정, 삭제) (0) | 2021.09.15 |
---|---|
Spring 일지 #6 (20210914) 화면 구현(insert, select) (0) | 2021.09.14 |
Spring 일지 #4 (20210914) home.jsp (0) | 2021.09.14 |
Spring 일지 #3 (20210914) 폴더 생성, 초기 화면 표시 (0) | 2021.09.14 |
Spring 일지 #2 (20210903) Item 등록, 목록, 삭제 (0) | 2021.09.06 |