Source Code : Transferring data from Database to JTable [duplicate]

Transferring data from Database to JTable [duplicate]

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.DefaultTableModel;

public class DisplayResult extends JPanel {
  private boolean DEBUG = false;
  // JDBC driver name and database URL
  static final String JDBC_DRIVER = "org.postgresql.Driver"; // use specific driver for your database
  static final String DB_URL = "jdbc:postgresql://127.0.0.1:8000/testdb";
  // Database credentials
  static final String USER = "username";
  static final String PASS = "password";
  Connection conn = null;
  Statement stmt = null;
  static Vector> data = new Vector>();

  public DisplayResult() {
  super(new GridLayout(1,0));


  Vector columnNames = new Vector();
  columnNames.add("column1");
  columnNames.add("column2");
  columnNames.add("column3");


  String query =
  "select column1, column2, column3 from MYTABLE";


  try {
  conn = DriverManager.getConnection(DB_URL, USER, PASS);
  stmt = conn.createStatement();
  ResultSet rs = stmt.executeQuery(query);
  while (rs.next()) {

  Vector vstring = new Vector();


  vstring.add(rs.getString("column1"));
  vstring.add(rs.getString("column2"));
  vstring.add(rs.getString("column3"));
  vstring.add("\n\n\n\n\n\n\n");

  data.add(vstring);
  }
  } catch (SQLException e) {
  e.printStackTrace();
  } finally {
  if (stmt != null) {
  try {
  stmt.close();
  } catch (SQLException ex) {
  Logger.getLogger(FlashBuilderGUI.class.getName()).log(Level.SEVERE, null, ex);
  }
  }
  }

  //  final JTable table = new JTable(data, columnNames);
  DefaultTableModel model = new DefaultTableModel(data, columnNames);
  final JTable table = new JTable(model);
  table.setPreferredScrollableViewportSize(new Dimension(500, 70));
  table.setFillsViewportHeight(true);

  if (DEBUG) {
  table.addMouseListener(new MouseAdapter() {
  public void mouseClicked(MouseEvent e) {
  printDebugData(table);
  }
  });
  }

  //Create the scroll pane and add the table to it.
  JScrollPane scrollPane = new JScrollPane(table);

  //Add the scroll pane to this panel.
  add(scrollPane);
  }

  private void printDebugData(JTable table) {
  int numRows = table.getRowCount();
  int numCols = table.getColumnCount();
  javax.swing.table.TableModel model = table.getModel();

  System.out.println("Value of data: ");
  for (int i=0; i < numRows; i++) {
  System.out.print("  row " + i + ":");
  for (int j=0; j < numCols; j++) {
  System.out.print("  " + model.getValueAt(i, j));
  }
  System.out.println();
  }
  System.out.println("--------------------------");
  }

  /**
  * Create the GUI and show it.  For thread safety,
  * this method should be invoked from the
  * event-dispatching thread.
  */
  public static void createAndShowGUI() {
  //Create and set up the window.
  JFrame frame = new JFrame("Database Data");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  //Create and set up the content pane.
  DisplayResult newContentPane = new DisplayResult();
  newContentPane.setOpaque(true); //content panes must be opaque
  frame.setContentPane(newContentPane);

  //Display the window.
  frame.pack();
  frame.setVisible(true);
  }

  public static void main(String[] args) {
  //Schedule a job for the event-dispatching thread:
  //creating and showing this application's GUI.
  javax.swing.SwingUtilities.invokeLater(new Runnable() {
  public void run() {
  createAndShowGUI();
  }
  });
  }
}