2 simple console program.
Introduction
2 simple console programs to show usage of Derby database.
The first database is on disk, the database is in Read-Write mode. The second database is in the exe file, the database is in Readonly mode.
Before the demo steps, make a directory "X:\demos\database", and create a derby database "firstdb".
1. Edit a java source file: "X:\demos\src\hello\derby\DemoDerby1.java"
package hello.derby;
import java.sql.*;
/**
* In this demo, the Derby database file is on disk.
*
* The database file is in the relative directory "./database" of exe file.
*
* @author sswater
*/
public class DemoDerby1 {
public static void main(String[] args) throws Exception {
//
// Get the exe file directory
// This property does not exist unless this java program runs as an exe file
//
String application_home = System.getProperty("application.home");
// If not set, this program is run directly by java.exe, for test only
//if(application_home == null) { application_home = "d:/test/"; }
//
// To set derby directory, relative to exe file. The files is on disk
//
System.setProperty("derby.system.home", application_home + "/database");
//
// load database file at derby.system.home
//
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection conn = DriverManager.getConnection("jdbc:derby:firstdb");
//
// read data
//
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM firsttable");
while(rs.next()) {
System.out.println(rs.getString(1) + "\t| " + rs.getString(2));
}
conn.close();
}
}
2. Enter "X:\demos" directory and compile it to a class file:
X:\>cd demos X:\demos>javac src/hello/derby/DemoDerby1.java
3. Make a jar file:
X:\demos>jar -cvf demoderby1.jar -C src hello/derby/DemoDerby1.class
4. Use Jar2Exe to generate exe file for Windows and Linux:
X:\demos>j2ewiz demoderby1.jar /m hello.derby.DemoDerby1 X:\demos>j2ewiz demoderby1.jar /m hello.derby.DemoDerby1 /platform linux
5. Edit a configuration file to set classpath: "X:\demos\demoderby1.cfg"
classpath lib/derby.jar
Now we can execute the "demoderby1.exe".
6. Download the program for reference.
- demoderby1.zip - 2.58M, download this demo program.
- demos.7z - 5.75M, all demos in one file.
1. Edit a java source file: "X:\demos\src\hello\derby\DemoDerby3.java"
package hello.derby;
import java.sql.*;
/**
* In this demo, the Derby database file is internal in the exe file.
*
* We can select HIDE or ENCRYPT when we use Jar2Exe,
* and we can also add 'derby.jar' into the exe file too.
*
* @author sswater
*/
public class DemoDerby3 {
public static void main(String[] args) throws Exception {
//
// The database file is in exe file
//
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection conn = DriverManager.
getConnection("jdbc:derby:classpath:database/firstdb");
//
// read data
//
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM firsttable");
while(rs.next()) {
System.out.println(rs.getString(1) + "\t| " + rs.getString(2));
}
conn.close();
}
}2. Enter "X:\demos" directory and compile it to a class file:
X:\>cd demos X:\demos>javac src/hello/derby/DemoDerby3.java
3. Make a jar file:
X:\demos>jar -cvf demoderby3.jar -C src hello/derby/DemoDerby3.class
4. Pack database to be a jar file:
X:\demos>jar -cvf database.jar database
5. Use Jar2Exe to generate exe file for Windows and Linux:
We can adding 'derby.jar' and 'database.jar' together like this:
X:\demos>j2ewiz demoderby3.jar /m hello.derby.DemoDerby3 /embed database.jar /embed lib/derby.jar X:\demos>j2ewiz demoderby3.jar /m hello.derby.DemoDerby3 /embed database.jar /embed lib/derby.jar /platform linux
Now we can execute 'demoderby3.exe' without database directory and derby.jar.
6. Download the program for reference.
- demoderby3.zip - 7.68M, download this demo program.
- demos.7z - 5.75M, all demos in one file.
See Also
- See Depended Jars page for more details about packing depended jar files.
