본문 바로가기

옛날

오버로딩을 이용한 SELECT 조회문 메서드 작성

개발환경 :

Windows 7 Ultimate K 64bit

MySQL Community Server 5.7.17 <GPL>

MySQL Workbench 6.3 CE

Eclipse Kepler Service Release 2

mysql-connector-java-5.1.40-bin //커넥터 버전




코드를 계속 짜다보니 객체지향적 특징인 재사용성(?)이 왜 필요한지 뼈저리게 느낀 순간이 있었는데

계속 조회작업이 많이 있는 프로그램을 코딩 하느라 sql 쿼리를 저장하는 변수를 계속해서 변경해주는데 코드가 더러워졋었다. 그래서 그냥 SELECT문을 수행해주는 메서드를 만들어보았다.



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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package jdbc;
 
import java.sql.Connection
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 
public class JDBC {
     Connection conn;
    Statement stmt;
    ResultSet rs;
 
    //SELECT FROM
    public void selectQuery(String select, String from, int columns) throws SQLException {
        String selectSql = "SELECT "+select+" FROM "+from;
        dbconnect();
        
        stmt = conn.createStatement();
        rs = stmt.executeQuery(selectSql);
        
        System.out.println("↓ "+selectSql+" ↓\n");
        
        while(rs.next()) {
            for(int i = 1; i<=columns; i++) {
                System.out.print(rs.getString(i));
                if(i != columns) {
                    System.out.print("\t");
                }
            }
            System.out.println();
        }
        
        System.out.println("\nSELECT COMPLETE!\n");
    }
    
    //SELECT FROM WHERE
    public void selectQuery(String select, String from, int columns, String where) throws SQLException {
        String selectSql = "SELECT "+select+" FROM "+from+" WHERE "+where;
        dbconnect();
        
        stmt = conn.createStatement();
        rs = stmt.executeQuery(selectSql);
        
        System.out.println("↓ "+selectSql+" ↓\n");
        
        while(rs.next()) {
            for(int i = 1; i<=columns; i++) {
                System.out.print(rs.getString(i));
                if(i != columns) {
                    System.out.print("\t");
                }
            }
            System.out.println();
        }
        
        System.out.println("\nSELECT COMPLETE!\n");
    }
cs

(SELECT할 행, from할 테이블, SELECT한 행 갯수만 입력하면 된다 추가로 WHERE문도 가능~)


인자를 한개 더 주면 WHERE문까지도 수행가능한 메서드를 만들어버렸다. 그냥 무작정 만들어 본거라서

어떤 흠이 있는지는 모르겠지만 테스트하고 사용해보면서 알아봐야겟다. 굉장히 쉬운급의 코딩이고

복붙만하면 오버로딩까지 되기떄문에.. 별 어려움은 없엇다. 정작 필요한건 CREATE,UPDATE,INSERT문..

좀만 응용하면 INSERT랑 UPDATE는 금방 만들듯

CREATE문은 DATABASE따로 TABLE따로 뭐 할게많은듯.. 그냥 수작업하자