import java.sql.*;
public class jdbcCuiSample2 {
public static void main(String argv[]){
String user = "DBユーザ名";
String passwd = "パスワード";
String url = "jdbc:postgresql://サーバ名/データベース名";
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try{
//使用するドライバの読み込み
Class.forName("org.postgresql.Driver");
System.out.println("ドライバの読み込みが完了");
//接続。getConnection()の中の書き方はドライバに依存する。
con = DriverManager.getConnection(url,user,passwd);
System.out.println("接続完了");
//SQL文を実行するStatementの作成
stmt = con.createStatement();
//SELECT文の実行
String sql = "SELECT * FROM t9935089_tbl1";
rs = stmt.executeQuery(sql);
//ResultSetMetaDataを使用してスキーマ情報を得る。
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
System.out.println("列の推奨タイトル・識別名・SQL型・最大数");
String[] ColumnLabel = new String[numberOfColumns];
String[] ColumnName = new String[numberOfColumns];
int[] ColumnType = new int[numberOfColumns];
int[] ColumnDisplaySize = new int[numberOfColumns];
for(int i = 1; i <= numberOfColumns; i++){
ColumnLabel[i-1] = rsmd.getColumnLabel(i);
ColumnName[i-1] = rsmd.getColumnName(i);
ColumnType[i-1] = rsmd.getColumnType(i);
ColumnDisplaySize[i-1] = rsmd.getColumnDisplaySize(i);
System.out.println("列" + i + ":" + ColumnLabel[i-1] +" "
+ ColumnName[i-1] + " " + ColumnType[i-1] + " "
+ ColumnDisplaySize[i-1] );
}
//ResultSetからデータの取り出し
while(rs.next()){
for(int i = 1; i <= numberOfColumns; i++){
//ここでデータの型によって振舞をわけることができる。
//if(ColumnType[i] == Types.VARCHAR) { ... }といった具合に。
String value = rs.getString(i);
System.out.print(value + " | ");
}
System.out.println();
}
}catch(SQLException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
//切断。closeする。
if(rs != null) rs.close();
if(stmt != null) stmt.close();
if(con != null) con.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
|