2014-05-21 3 views
0

안녕하세요, jdbc 환경의 새로운 기능입니다. 데이터베이스에 연결하고 db를 쿼리하여 결과 집합을 가져옵니다. 하지만 지금은 자바에서 테이블보기로 데이터를 표시하고 싶습니다JDBC : 테이블 구조에 데이터를 표시하십시오.

어떻게 보관할 수 있습니까?

//STEP 1. Import required packages 
import java.sql.*; 

public class FirstExample { 
    // JDBC driver name and database URL 
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
    static final String DB_URL = "jdbc:mysql://localhost/EMP"; 

    // Database credentials 
    static final String USER = "username"; 
    static final String PASS = "password"; 

    public static void main(String[] args) { 
    Connection conn = null; 
    Statement stmt = null; 
    try{ 
     //STEP 2: Register JDBC driver 
     Class.forName("com.mysql.jdbc.Driver"); 

     //STEP 3: Open a connection 
     System.out.println("Connecting to database..."); 
     conn = DriverManager.getConnection(DB_URL,USER,PASS); 

     //STEP 4: Execute a query 
     System.out.println("Creating statement..."); 
     stmt = conn.createStatement(); 
     String sql; 
     sql = "SELECT id, first, last, age FROM Employees"; 
     ResultSet rs = stmt.executeQuery(sql); 

     //STEP 5: Extract data from result set 
     while(rs.next()){ 
     //Retrieve by column name 
     int id = rs.getInt("id"); 
     int age = rs.getInt("age"); 
     String first = rs.getString("first"); 
     String last = rs.getString("last"); 

     //Display values 
     System.out.print("ID: " + id); 
     System.out.print(", Age: " + age); 
     System.out.print(", First: " + first); 
     System.out.println(", Last: " + last); 
     } 
     //STEP 6: Clean-up environment 
     rs.close(); 
     stmt.close(); 
     conn.close(); 
    }catch(SQLException se){ 
     //Handle errors for JDBC 
     se.printStackTrace(); 
    }catch(Exception e){ 
     //Handle errors for Class.forName 
     e.printStackTrace(); 
    }finally{ 
     //finally block used to close resources 
     try{ 
     if(stmt!=null) 
      stmt.close(); 
     catch(SQLException se2){ 
     }// nothing we can do 
     try{ 
     if(conn!=null) 
      conn.close(); 
     }catch(SQLException se){ 
     se.printStackTrace(); 
     }//end finally try 
    }//end try 
    System.out.println("Goodbye!"); 
}//end main 
}//end FirstExample 

는 출력

ID: 100, Age: 18, First: Zara, Last: Ali 
ID: 101, Age: 25, First: Mahnaz, Last: Fatma 
ID: 102, Age: 30, First: Zaid, Last: Khan 
ID: 103, Age: 28, First: Sumit, Last: Mittal 

다음 제공하지만 난 특정 테이블과 같은 출력

ID | AGE | FIRST | LAST 
----------------------- 
101|  |  | 
    |  |  | 

감사합니다

+0

그것은 당신의 SOP를 포맷의 문제처럼 보인다입니다. 루프를 입력하기 전에 열 헤더를 인쇄하십시오. –

답변

1

동안 전 :

String foramt = "%s\t| %s\t| %s\t| %s"; 
System.out.println(String.format(format, "ID", "AGE", "FIRST", "LAST")); 
반면에

는 :

//Display values 
System.out.println(String.format(format, id+"", age+"", first, last)); 
+0

정말 고마워요. – kandarp

관련 문제