청년취업아카데미/Java
[21.01.12 Java] JDBC
RSpring41
2021. 1. 12. 12:48
mvc패턴
MVC 는 Model, View, Controller의 약자 입니다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴입니다.
JDBC는 다양한 데이터 베이스 프로그램을 동일한 문법으로 관리할 수 있게 만든것
4가지 순서로 데이터페이스 조작
DB에 접근하여 selec문을 이용한 회원 조회
Connection
PreparedStatement
ResultSet
세가지 인터페이스를 사용함
try {
// 1. JDBC 드라이버를 로딩(동적 로딩)파일을 계속 확인하는게 아니라서 빨간줄 계속 (예외처리)
Class.forName("oracle.jdbc.driver.OracleDriver");
///////////////////////////////////////////////////////////////////////
// 2. DB연결
// 외부에서 접속하기 위해서는 localhost 부분을 ip주소로 변경
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "hr";
String password = "hr";
conn = DriverManager.getConnection(url, user, password);
if (conn == null) {
System.out.println("DB 연결 실패");
} else {
System.out.println("DB 연결 성공");
}
// 3.DB에 보낼 Query문 작성
// 추상클래스는 객체 생성 안됨
String sql = "select * from member";
pst = conn.prepareStatement(sql);
// 4.Query실행
// insert, update,delete 는 DB을 변경하기 때문에 pst.executeUpdate
// select 같이 DB에 변화가 없는 명령문은 pst.executeQuery
// sql 결과를 Result에 입력
rs = pst.executeQuery();
// 5.번 ResultSet객체에 저장된 DB정보 가져오기
while (rs.next()) {
String getName = rs.getString(1);
int getAge = rs.getInt(2);
String getSex = rs.getNString(3);
System.out.println("등록된 회원 >> \t이름 : " + getName + "\t 나이 : " + getAge + "\t 성별 : " + getSex + "\n");
}
// 오류 출력문: ClassNotFoundException: 클래스 파일을 찾지 못했을 경우
} catch (ClassNotFoundException e) {
// 오류 메시지 출력
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// 6.DB관련 연결객체 종료
// 사용한 자원은 꼭 반환하여준다
// Connection, PreparedStatement를 사용했기 때문에 종료해줘야함
try {
if (pst != null) {
pst.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
} // end try~catch~finally