5주차 - 자바 오라클 데이터베이스 (1)

2022. 9. 3. 15:35DataBase/Oracle

자바와 오라클 데이터베이스의 연결 방법.

오라클 데이터베이스에서 임의의 테이블을 하나 만든다.

내가 만들 테이블의 이름은 test

CREATE TABLE test(
num number,
id varchar2(20),
password varchar2(20),
name varchar2(20)
);

아래는 위에서 만든 테이블과 연결 및 실행

public class ConnectionTest {

	public static void main(String[] args) {
		// 1. Driver 실행
		try {
			Class.forName("oracle.jdbc.OracleDriver");
		} catch (ClassNotFoundException e) {
			System.out.println("드라이버 클래스를 찾지 못함.");
			e.printStackTrace();
		}
        
		// 2. DB 연결 
		/* 
		 * @localhost : 데이터베이스 서버(오라클 프로그램이 설치된 컴퓨터)의 IP주소
		 * 1521 : 데이터베이스 Port Number(포트번호)  
		 * IP주소 : 컴퓨터 주소, 
		 * 127.0.0.1 : LoopBack, localhost, 자기 자신의 컴퓨터를 의미
		 */
		
        // 나는 오라클 데이터베이스에 로그인할 id와 password를 각각 oracle 로 만들었다.
		String user = "oracle";
		String password = "oracle";
		String url = "jdbc:oracle:thin:@localhost:1521:xe";
		Connection con = null;
		try {
			con = DriverManager.getConnection(url, user, password);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		// 3. 데이터베이스로 쿼리문 전달.
		
		Scanner sc = new Scanner(System.in);
		System.out.print("아이디 : ");
		String id = sc.next();
		
//		String sql = "SELECT * FROM test WHERE id='" + id + "'"; 
		String sql = "SELECT * FROM test WHERE id=?"; 
		
		PreparedStatement ps = null;
		ResultSet rs = null;
		try {
			ps = con.prepareStatement(sql);
			ps.setString(1, id);
			// 실행 : SELECT
			rs = ps.executeQuery();
			if(rs.next()) {
				System.out.println("번호 : " + rs.getInt("num"));
				System.out.println("아이디 : " + rs.getString("id"));
				System.out.println("비밀번호 : " + rs.getString("password"));
				System.out.println("이름 : " + rs.getString("name"));
			}else {
				System.out.println("검색한 아이디로 정보를 확인할 수 없습니다.");
			}
			/*  실행 : INSERT, UPDATE, DELETE
			 * int row = ps.executeUpdate();
			 */
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}