import java.io.*;
import java.sql.*;
public class Presidents {
String home, system;
public Presidents() {
home = System.getProperty("user.home", ".");
system = home + File.separatorChar + ".odb";
System.setProperty("hsqldb.system.home", system);
}
public void createDatabase() {
// set the database directory
String datasource = "jdbc:hsqldb:presidents;create=true";
try {
//load the driver
Class.forName("org.hsqldb.jdbcDriver");
Connection conn = DriverManager.getConnection(datasource);
Statement st = conn.createStatement();
//create the contacts table
int result = st.executeUpdate(
"CREATE TABLE contacts ("
+ "dex INTEGER NOT NULL PRIMARY KEY "
+ "GENERATED ALWAYS AS identity "
+ "(START WITH 1, INCREMENT BY 1), "
+ "name VARCHAR(40), "
+ "address1 VARCHAR(40), "
+ "address2 VARCHAR(40), "
+ "phone VARCHAR(20), "
+ "email VARCHAR(40))");
//insert a record
result= st.executeUpdate(
"INSERT INTO contacts (name, address1, address2, " + "phone, email) VALUES("
+ "'Jimmy Carter', "
+ "'Prsidential Center', "
+ "'680592', "
+ "'carter@carter.edu')");
st.close();
System.out.println("Database created");
} catch (Exception e) {
System.out.println("Error - " + e.toString());
}
}
public void readDatabase() {
String datasource = "jdbc:hsqldb:presidents";
try {
//load driver and connect to database
Class.forName("org.hsqldb.jdbcDriver");
Connection conn = DriverManager.getConnection(datasource, "","");
Statement st = conn.createStatement();
ResultSet rec =st.executeQuery(
"SELECT * FROM contacts");
while(rec.next()) {
System.out.println(rec.getString("name") + "\n" + rec.getString("address1") + "\n"
+ rec.getString("address2") + "\n" + rec.getString("phone") + "\n" + rec.getString("email") + "\n");
}
st.close();
} catch (Exception e) {
System.out.println("error - " + e.toString());
}
}
public static void main(String[] arguments) {
Presidents prez = new Presidents();
if (arguments[0].equals("create")) {
prez.createDatabase();
}
if (arguments[0].equals("read")) {
prez.readDatabase();
}
}
}