//================================================================= // PostgreSQL_JDBC Class //================================================================= // // This class is used to control the running of the a generic // class to access the PostgreSQL database. // // << PostgreSQL_JDBC.java >> // //================================================================= // Copyright (C) 2010 Dana M. Proctor // Version 1.02 10/21/2010 // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License // as published by the Free Software Foundation; either version // 2 of the License, or (at your option) any later version. This // program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See // the GNU General Public License for more details. You should // have received a copy of the GNU General Public License along // with this program; if not, write to the Free Software Foundation, // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // (http://opensource.org) // //----------------------------------------------------------------- // danap@dandymadeproductions.com //================================================================= //================================================================= // PostgreSQL_JDBC Application //================================================================= import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.io.*; import java.sql.*; /** * The PostgreSQL class is used to control the running of the a generic class to * access the PostgreSQL database. Arguments -debug. * @author Dana M. Proctor * @version 1.02 10/21/2010 */ class PostgreSQL_JDBC { //============================================================== // PostgreSQL_JDBC Constructor //============================================================== public PostgreSQL_JDBC(Connection con) { testColumnNull(con); } //============================================================== // Test Methods // CREATE DOMAIN salary_domain AS numeric(12,2) NOT NULL CHECK (value > 0); // CREATE TABLE employee (id integer not null, salary salary_domain); // DatabaseMetaData.getColumns(null, "public", "employee", "%"); //============================================================== private void testColumnNull(Connection con) { // Method Instances DatabaseMetaData dbMetaData; ResultSetMetaData tableMetaData; String sqlStatementString; Statement sqlStatement; ResultSet rs, db_resultSet; String identifierQuoteString = "\""; try { // Setup a connection statement. sqlStatement = con.createStatement(); sqlStatementString = "SELECT * FROM " + identifierQuoteString + "public" + identifierQuoteString + "." + identifierQuoteString + "employee" + identifierQuoteString + " LIMIT 1"; System.out.println(sqlStatementString); db_resultSet = sqlStatement.executeQuery(sqlStatementString); dbMetaData = con.getMetaData(); rs = dbMetaData.getColumns(null, "public", "employee", "%"); while (rs.next()) { System.out.print("Column Name: " + rs.getString("COLUMN_NAME") + " " + "IS_NULLABLE: " + rs.getString("IS_NULLABLE")); System.out.println(); } rs.close(); db_resultSet.close(); sqlStatement.close(); } catch (SQLException sqle) { System.out.println("SQL Exeception" + sqle); } } //============================================================ // Main public access point method for instantiating the // PostgreSQL_JDBC application. Arguments: database, username, // & password. //============================================================== public static void main(String[] args) { String host, database, username, password; Connection dbConnection; // Collect connection properties. and setup connection. host = "localhost"; dbConnection = null; if (args.length != 0) { database = args[0]; username = (args.length > 1) ? args[1] : null; password = (args.length > 2) ? args[2] : null; } else { database = "your_database"; username = "your_username"; password = "your_password"; } try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException cne) {System.out.println("ClassNotFoundException" + cne.toString());} // Try to make a connection. try { dbConnection = DriverManager.getConnection("jdbc:postgresql://" + host + "/" + database, username, password); // Connection Good. if (dbConnection != null) { System.out.println("Connection Created"); // Go Do Something. new PostgreSQL_JDBC(dbConnection); // Close. dbConnection.close(); System.out.println("Connection Closed"); } } catch (SQLException sqle) {System.out.println("SQLExeception" + sqle.toString());} } }