Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
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
more
Archives
Today
Total
관리 메뉴

붓, 그리다

JDBC) 테이블에 DB연동하기 2) JTable에 DB 코딩 본문

JAVA/Basic

JDBC) 테이블에 DB연동하기 2) JTable에 DB 코딩

붓그린 2017. 6. 23. 12:27


2. JTable에 DB 설계하기




1) DB연동 라이브러리 불러오기

1
import java.sql.*;
csimport java.sql.*;


2) 연결객체 생성

1
Connection con=null;
cs


3) SQL구문을 실행하는 변수 선언

1
PreparedStatement pstmt=null;
cs


4) select 구문을 사용할 때 필요한 변수 선언

1
ResultSet rs=null;
cs


5) 생성자에 DB를 접속하여 select 문장을 사용해 JTable에 보여주는 구문 코딩
=> 복잡해질 경우 메소드를 생성

- DB접속하는 메소드 : connect()

1
2
3
4
5
6
7
8
9
10
11
12
13
// connect()는 내부적으로 호출하기때문에 다른 클래스에서 호출되면 안됨
    private void connect() {
        try {
            // 1) 접속할 드라이버를 메모리에 올리기 : 정적 메소드
            Class.forName("oracle.jdbc.driver.OracleDriver");
            String url="jdbc:oracle:thin:@localhost:1521:orcl";
            // 2) 접속하기 위한 메소드(1.접속url 2.계정명 3.계정암호)
            con=DriverManager.getConnection(url, "scott""tiger");
            System.out.println("접속 : "+con);
        }catch(Exception e) {
            System.out.println("DB 접속 오류 : "+e);
        }
    }
cs


- select하는 메소드 : select()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public void select() {
        try { // 1) 실행할 SQL 문장 작성
            String sql="select * from person"//지역변수 선언
            pstmt=con.prepareStatement(sql);
            System.out.println("pstmt : "+pstmt);
            rs=pstmt.executeQuery(); // select문장
            System.out.println("rs : "+rs);
            
            // person테이블에서 불러오기
            while(rs.next()) {
                String name=rs.getString("name");
                String age=rs.getString("age");
                String tel=rs.getString("tel");
                
                // Object[]을 만들어 저장하여 model에 추가하면 JTable에서 결과를 확인 가능
                Object data[]= {name,age,tel};
                model.addRow(data); 
                System.out.println(name+", "+age+", "+tel); // 콘솔 출력
            }
        }catch(Exception e) {
            System.out.println("select() 실행 오류 : " +e);
        }
    }
cs


6) 프로그램 종료 전 메모리에 DB연동 부분 해제(생성자에 코딩)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 연동해제
        this.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                // TODO Auto-generated method stub
                try { // 프로그램 종료전에 메모리에 DB연동 부분 해제
                    if(rs!=null) rs.close();
                    if(pstmt!=null) pstmt.close();
                    if(con!=null) con.close();                    
                }catch(Exception e2) {
                    System.exit(0);
                }
            }
        });
cs


Comments