티스토리 뷰

JDBC

쿼리 실행하기 실습

Programmers 2021. 4. 29. 22:27
반응형

쿼리 실행하기 실습 전, ORACLE DATABASE에 대한 기본적인 이해가 필요

SQL plus 또는 SQL Developer

테이블을 생성 5개

CREATE TABLE  notice
(
    id NUMBER,
    title NVARCHAR2(100),
    writer_id NVARCHAR2(50),
    content CLOB,
    regdate TIMESTAMP,
    hit NUMBER,
    files NVARCHAR2(1000)
);
    

 

 

CREATE TABLE member
(
    id NVARCHAR2(50),
    pwd NVARCHAR2(50),
    name NVARCHAR2(50),
    gender NCHAR(2),
    birthday CHAR(10),
    phone CHAR(13),
    regdate DATE,
    email VARCHAR2(200)
)

 

 

CREATE TABLE "comment"
(
    id NUMBER,
    content NVARCHAR2(2000),
    regdate TIMESTAMP,
    writer_id NVARCHAR2(50),
    NOTICE_ID NUMBER
);

 

 

CREATE TABLE role
(
    id VARCHAR2(50),
    discription NVARCHAR2(500)
);​

 

 

CREATE TABLE member_role
(
    member_id NVARCHAR2(50),
    role_id VARCHAR2(50)
);

 

NOTICE 테이블에 데이터 추가

notice 테이블 데이터 추가

 

이클립스

자바 프로젝트 생성

자바 프로젝트 생성1

 

자바 프로젝트 생성2

 

라이브러리 추가

ojdbc8.jar 추가1
ojdbc8.jar 추가2
ojdbc8.jar 추가3

 

클래스 생성

클래스 생성1
클래스 생성2

 

쿼리를 읽어오는 코드
- 모든 데이터베이스 연동에는 이 코드가 필수

		String url = "jdbc:oracle:thin:@localhost/xepdb1";
		String sql = "SELECT * FROM NOTICE";
		
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection con = DriverManager.getConnection(url, "id", "password");
		Statement st = con.createStatement();
		ResultSet rs = st.executeQuery(sql);
        
       		rs.close();
		st.close();
		con.close();

String url = "jdbc:oracle:thin@localhost/xepdb1";
-> 현재 오라클이 설치되어 있는 자신의 주소와 서비스이름을 입력
Connection con = DriverManager.getConnection(url, "id", "password");
-> 자신의 id, password 입력

 

실습 자바 코드

package ex1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Program {

	public static void main(String[] args) throws ClassNotFoundException, SQLException {
		
		String url = "jdbc:oracle:thin:@192.168.219.103:1521/XE";
		String sql = "SELECT * FROM NOTICE";
		
		Class.forName("oracle.jdbc.driver.OracleDriver");
		Connection con = DriverManager.getConnection(url, "corini", "111111");
		Statement st = con.createStatement();
		ResultSet rs = st.executeQuery(sql);
		
		if(rs.next()) {
			String title = rs.getString("TITLE");
			System.out.print(title);
		}
		
		rs.close();
		st.close();
		con.close();
			
	}

}

rs.next()
-> 값이 없을 경우 false, 있을 경우 true 반환

if(rs.next()){ }
-> 조건문이 없을 경우, rs 내의 값이 null 일경우 오류 발생

String title = rs.getString("TITLE");
-> rs에서 TITLE 값을 받아서 문자열 title에 저장

쿼리 출력 결과

반응형

'JDBC' 카테고리의 다른 글

SQL을 잘 해야하는 이유  (0) 2021.04.30
레코드의 모든 컬럼 출력하기  (1) 2021.04.29
JDBC 기본 코드의 이해  (0) 2021.04.27
DBMS와 JDBC Driver 준비  (0) 2021.04.27
JDBC란?  (0) 2021.04.27
댓글
공지사항