/** * This demonstrates a simple stand-alone database application. This will * start up the database that's found in this directory and perform some * queries on the data. * <p> * The demo distribution should contain the database data files already * prepared. However, if the 'data' directory was removed then run * 'SimpleDatabaseCreateDemo' to remake it. */ import java.sql.*; public class SimpleApplicationDemo { /** * The demonstation 'main' method. */ public static void main(String[] args) { System.out.println(); // Register the Mckoi JDBC Driver try { Class.forName("com.mckoi.JDBCDriver").newInstance(); } catch (Exception e) { System.out.println( "Unable to register the JDBC Driver.\n" + "Make sure the classpath is correct.\n" + "For example on Win32; java -cp ../../mckoidb.jar;. SimpleApplicationDemo\n" + "On Unix; java -cp ../../mckoidb.jar:. SimpleApplicationDemo"); return; } // This URL specifies we are connecting with a local database. The // configuration file for the database is found at './ExampleDB.conf' String url = "jdbc:mckoi:local://ExampleDB.conf"; // The username/password for the database. This is set when the database // is created (see SimpleDatabaseCreateDemo). String username = "user"; String password = "pass1212"; // Make a connection with the database. Connection connection; try { connection = DriverManager.getConnection(url, username, password); } catch (SQLException e) { System.out.println( "Unable to make a connection to the database.\n" + "The reason: " + e.getMessage()); return; } // --- Do some queries --- System.out.println(); try { // Create a Statement object to execute the queries on, Statement statement = connection.createStatement(); ResultSet result; // How many rows are in the 'Person' table? result = statement.executeQuery("SELECT COUNT(*) FROM Person"); if (result.next()) { System.out.println("Rows in 'Person' table: " + result.getInt(1)); } System.out.println(); // What's the average age of the people stored? result = statement.executeQuery("SELECT AVG(age) FROM Person"); if (result.next()) { System.out.println("Average age of people: " + result.getDouble(1)); } System.out.println(); // List the names of all the people that live in Africa ordered by name result = statement.executeQuery( "SELECT name FROM Person WHERE lives_in = 'Africa' ORDER BY name"); System.out.println("All people that live in Africa:"); while (result.next()) { System.out.println(" " + result.getString(1)); } System.out.println(); // List the name and music group of all the people that listen to // either 'Oasis' or 'Beatles' result = statement.executeQuery( " SELECT Person.name, MusicGroup.name " + " FROM Person, ListensTo, MusicGroup " + " WHERE MusicGroup.name IN ( 'Oasis', 'Beatles' ) " + " AND Person.name = ListensTo.person_name " + " AND ListensTo.music_group_name = MusicGroup.name " + " ORDER BY MusicGroup.name, Person.name "); System.out.println("All people that listen to either Beatles or Oasis:"); while (result.next()) { System.out.print(" " + result.getString(1)); System.out.print(" listens to "); System.out.println(result.getString(2)); } System.out.println(); // Close the statement and the connection to end, statement.close(); connection.close(); } catch (SQLException e) { System.out.println( "An error occured\n" + "The SQLException message is: " + e.getMessage()); return; } } }