java dynamic SQL formatter

import java.sql.*;

public class dynColumns {
  public static void main(String[] args) {
    try {
      Connection con = DriverManager.getConnection("jdbc:oracle:thin:" + args[0]);
      Statement stm = con.createStatement();
      ResultSet rst = stm.executeQuery(args[1]);
      ResultSetMetaData rstMeta = rst.getMetaData();
      int columns = rstMeta.getColumnCount();
      while (rst.next()) {
        for (int j = 1; j <= columns; j++) {
          System.out.println(String.format("%1$-30s", rstMeta.getColumnName(j)) + " " + nullToBlank(rst.getString(j)));
        }
        System.out.println(String.format("%1$-30s","").replace(' ', '-'));
      }
      System.out.println(rst.getRow() + " rows found.");
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
  static String nullToBlank(String s) {
    if (s == null) {
      return "";
    }
    else {
      return s;
    }
  }
}

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.