차근차근 개발자 되기

Java

21일차: Java 자바와 오라클 연동 테스트- 2021.07.13

wellow 2021. 7. 13. 22:02

목차

1.    테이블 생성/컬럼 추가/시퀀스 추가

2.    자바와 오라클 연동 테스트

 

1. 테이블 생성/컬럼 추가/시퀀스 추가

 

1) 이클립스에서 테이블 생성 및 추가

① Connection profile 설정

 

• Type: 오라클 버전 선택

• Name: 계정명 선택

• Database: 전역 데이터명 선택

 

② customer 테이블 생성 / 컬럼 추가

 

- 테이블 생성 형식: create table 테이블명(컬럼명 자료형);

- 컬럼 추가 형식: alter table 테이블명 add(컬럼명 자료형);

 

* ‘primary key’ 조건을 붙여서 중복되는 값이 저장되는 것을 방지

 

시퀀스 추가

 

- 번호를 직접 기입하는 대신, 자동으로 번호 값을 주기 위해 사용

- 시퀀스 추가 형식: create sequence 테이블명_컬럼명_seq

                         start with 시작값

                         increment by 증가값;

 

2) SQL 실행 함수

명령문 자료형 실행 함수
select ResultSet executeQuery()
insert int executeUpdate()
update
delete

 

* Java.sql 패키지 → Statement 인터페이스 → executeQuery(), executeUpdate() 메소드

 

 

2. 자바와 오라클 연동 테스트

 

1) StatementSQL문 실행 예제

→ ★JDBC_Insert / JDBC_Select / JDBC_Update / JDBC_Delete 참고

INSERT 쿼리문

      sql = "INSERT into customer(no, name, email, tel) values " ;

      sql += "(" + no + ",'" + name +"','" + email +"','"+ tel +"')" ;

 

Statementinsert 쿼리문 작성시 구조가 다소 복잡

 

2) PreparedStatementSQL문 실행 예제

→ ★JDBC_Insert01 / JDBC_Select01 / JDBC_Update01 / JDBC_Delete01 참고

INSERT 쿼리문

      sql = "INSERT into customer (no, name, email, tel) values (?, ?, ?, ?)";

 

      pstmt = con.prepareStatement(sql);

      pstmt.setInt(1, ino);

      pstmt.setString(2, name);

      pstmt.setString(3, email);

      pstmt.setString(4, tel);

      int result=pstmt.executeUpdate();

 

→ PreparedStatement에서는 value값을 물음표로 줌

 

3) 컬럼 추가 & 시퀀스 추가 예제

→ ★JDBC_Insert02 / JDBC_Select02 / JDBC_Update02 / JDBC_Delete02 참고

INSERT 쿼리문

      sql = "INSERT into customer (no, name, email, tel, address, reg_date)";

      sql += " values (customer_no_seq.nextval,?,?,?,?,sysdate)";

 

- 번호 시퀀스: customer_no_seq.nextval → 시퀀스명.nextval 함수로 구함

- 날짜 함수: sysdate timestamp 객체를 생성하지 않고 손쉽게 날짜와 시간을 구할 수 있음

 

→ 함수에 괄호 없음 유의. 대소문자 구분도 하지 않아도 됨

 

SELECT 쿼리문

      sql = "SELECT * FROM customer order by no asc";

 

order by 컬럼명 asc: 오름차순 정렬 (ex. 1, 2, 3)

order by 컬럼명 desc: 내림차순 정렬 (ex. 3, 2, 1)