Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바 try-catch
- Java try-catch
- Java다운캐스팅
- dbeaver
- 자바 String클래스
- database
- Java추상클래스
- 오라클
- 자바 Wrapper클래스
- 코딩
- java super( )
- nodejs
- 자바 Random클래스
- Java thorw
- Java 추상 메서드
- 데이터베이스
- 자바 추상메서드
- Java문자열 클래스
- Java업캐스팅
- 자바 예제
- 자바 내부 클래스
- oracle
- Java 내부 클래스
- 자바 문자열 클래스
- 자바 스트링클래스
- Express
- db
- DBMS
- 자바 제어문
- Java객체배열
Archives
- Today
- Total
코딩이란 무엇일까
ORACLE[32일차] JDBC사용하여 DB로 연동해보기/ 자바로 SQL문 실행 본문
JDBC 사용해서 오라클 자바 연동
JDBC 드라이버 자바랑 연동하기
- 패키지 상단을 눌러 properties를 누른다.
2. build path를 검색한 뒤 Add Extermal jArs를 누른다.
3. 해당 파일을 클릭한 뒤 apply and close를 누르면 된다.
드라이브 로드 및 Connection 설정하기
따로 클래스를 만들어 getConnection이라는 메서드를 생성해줍니다.
public class DBConnecter {
public static Connection getConnection() {
Connection conn=null;
String url="jdbc:oracle:thin:@localhost:1521:XE";
String user="hr";
String pw="hr";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection(url,user,pw);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}catch(SQLException e) {
e.printStackTrace();
}catch(Exception e) {
e.printStackTrace();
}
return conn;
}
}
Connection인터페이스는 특정 데이터베이스와 연결을 하는 역할을 합니다
Connection 인터페이스의 getConnection( ) 메서드는 url, user, password총 세 가지의 정보가 필요하다.
따라서 String에 나의 Oracle 계정에 대해 담아주도록 한다.
Class.forName( ) 메서드는 메모리에 데이터베이스 드라이버 클래스를 로드합니다.
forName() 메소드는 throws ClassNotFoundException 처리합니다.
이렇게 이렇게 연결을 해주는 메서드를 만들어 주었다면 테스트를 해보라 가봅시다.
메인 메서드에서 Test 해보기
public static void main(String[] args) {
Connection conn = DBConnecter.getConnection();
System.out.print("연결확인 :");
System.out.println(conn);
}
성공!
Statement
Statememnt인터페이스는 SQL문을 실행하고 생성된 결과를 반환해줍니다.
ResultSet 인터페이스는 SQL문 실행 시 출력되는 데이터베이스 결과 값을 나타내는 테이블입니다.
PreparedStatement pstmt = null; //sql 실행할 객체를 참조
ResultSet rs = null; // select 쿼리 결과 객체를 참조
String sql = "select * from member_tbl_02";
각각 변수를 생성한 뒤 문자열에 쿼리문을 담아주었습니다.
try {
//sql 명령을 인자로 받아 실행할 객체를 생성하여 pstmt가 참조변수
pstmt = conn.prepareStatement(sql);
//쿼리 실행하고 그 결과를 객체로 생성하여 rs 가 참조변수
rs = pstmt.executeQuery();
//next() 메소드 : 조회 결과 다음행을 참조. 참 또는 거짓
System.out.println("조회가 결과가 있습니까? (첫번째 행) : " + rs.next());
System.out.println("첫번째 컬럼의 값 : " + rs.getInt(1));
} catch (SQLException e) {
e.printStackTrace(); //??
}
- pstmt변수에 conn.prepareStatement(sql) 위에 작성한 쿼리문을 인자로 받아 실행할 객체를 생성했습니다.
- rs=pstmt.excuteQuerry( )는 Statement의 메서드를 통해 실행하는데 쿼리문이 Select문이면 **excuteQuery ( )**메서드를 사용하고
- INSERT, UPDATE, DELETE 등의 DCL문이면 excuteUpdate( ) 메서드를 사용합니다.
- next( ) 메서드는 조회 결과 다음행을 참조합니다. 반환 타입은 boolean입니다.
- getInt, getNString… 메서드는 타입별로 값을 가져올 수 있습니다.
선언한 모든 객체 close( )
finally { // 객체 close.
if (rs != null) { // ResultSet이 null이 아닌 경우에 실행
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt != null) { // Statement이 null이 아닌 경우에 실행
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) { // Connection이 null이 아닌 경우에 실행
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
'국비지원수업' 카테고리의 다른 글
[38일차] 프론트엔드(1)-apache tomcat설치,Dynamic Web Project프로젝트 생성, 서버 연결해보기 (0) | 2022.12.15 |
---|---|
JDBC[36일차] JDBC 사용하여 데이터 삽입 (0) | 2022.12.13 |
ORACLE[27일차](2) 날짜 함수 , 집계 함수,GROUP BY (0) | 2022.11.30 |
ORACLE[27일차](1)-문자열 함수,숫자 함수 (0) | 2022.11.30 |
Database[26일차] -잠긴 계정 풀기,UPDATE,DELETE,REUNCATE,트랜잭션 모드,정규화,FOREIGN KEY 설정,시퀀스 사용 (0) | 2022.11.28 |
Comments