웹개발 교육/Java

[40일] JDBC (13) - 연습 문제

ewok 2022. 9. 22. 16:17

학번 g1001이 수강신청한 과목을 과목코드 별로 조회하시오

<출력 예시>		
g1001 d001 HTML 
g1001 p001 JAVA 
g1001 p002 Oracle 
g1001 p003 JSP 
g1001 p004 Python 
g1001 p005 AJAX

 

package jdbc0922;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Test06_quiz {

	public static void main(String[] args) {
		// 문제) 학번 g1001이 수강신청한 과목을 과목코드 별로 조회하시오
		/*
			g1001 d001 HTML 
			g1001 p001 JAVA 
			g1001 p002 Oracle 
			g1001 p003 JSP 
			g1001 p004 Python 
			g1001 p005 AJAX 
		*/
		
		String hakno = "g1001";
				
		Connection con = null;
		PreparedStatement pstmt = null;
		ResultSet rs = null;
		
		try {
			String url = "jdbc:oracle:thin:@localhost:1521:xe";
			String user = "system";
			String password = "1234";
			String driver = "oracle.jdbc.driver.OracleDriver";
			Class.forName(driver);
			con = DriverManager.getConnection(url, user, password);				
			System.out.println("오라클 DB 서버 연결 성공!!");
			
			StringBuilder sql = new StringBuilder();
			sql.append(" SELECT su.hakno AS hakno, su.gcode AS gcode, gw.gname AS gname");
			sql.append(" FROM tb_sugang su join tb_gwamok gw ");
			sql.append(" ON su.gcode=gw.gcode ");
			sql.append(" WHERE su.hakno=? ");			
			sql.append(" ORDER BY su.gcode ");
			
			pstmt = con.prepareStatement(sql.toString());
			pstmt.setString(1, hakno);
			
			rs = pstmt.executeQuery();

			if(rs.next()) {
				System.out.println("자료있음~~");
				do {					
					System.out.print(rs.getString("hakno") + " ");
					System.out.print(rs.getString("gcode") + " ");
					System.out.print(rs.getString("gname") + " ");
					System.out.println();				
					
				} while(rs.next()); //다음 cursor가 있는지?
				
			} else {
				System.out.println("자료없음!!");
			}//if end 
			
		} catch (Exception e) {
			System.out.println("오라클 DB 연결 실패 : " + e);
		} finally {
			try {
				if(rs!=null) {rs.close();}
			} catch (Exception e) {}
			
			try {
				if(pstmt!=null) {pstmt.close();}
			} catch (Exception e) {}
			
			try {
				if(con!=null) {con.close();}
			} catch (Exception e) {}
		}//end
		
		System.out.println("END");
		
	}//main() end
}//class end