/*
I. Getting ready:
Once :
- A database program is installed (We work here with Oracle database),
- The ORACLE_HOME path is set
(ORACLE_HOME C:\oraclexe\app\oracle\product\10.2.0\server),
- The correct related driver jdbc (here: ojdbc14.jar)
is downloaded and its CLASSPATH is set
(C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar;);
The complete classpath looks like:
The related classpath is then:
CLASSPATH =.;C:\Program Files\Java\jre1.5.0_14\lib\ext\dnsns.jar;
C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servletapi.jar;
C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar;
C:\oraclexe\app\oracle\product\10.2.0\server\jlib\orai18n.jar
- The http port is set at 1521:
From SQL command line:
SQL> -- set http port and ftp port
SQL> begin
2 dbms_xdb.sethttpport ('1521');
3 dbms_xdb.setftpport ('1520');
4 end;
5 /
SQL> quit
- A table is created and completed,
we can start connecting to the databse, sending requests, and
getting results via Java code.
II. Test the connectivity:
*/
import java.sql.*;
import oracle.jdbc.*;
import oracle.jdbc.OracleDriver;
public class OracleConnect
{
public static void main(String[] args)throws SQLException
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:
thin:@HOST:1521:XE","User","Password");
if(conn != null)
{ System.out.println("I am Connected to oracle database");
}
conn.close();
} catch (Exception e) {
System.out.println("ERROR : " + e);
e.printStackTrace(System.out);
}
}
}
/*
III. The main related code:
We have, generally three kind of requests:
- execute Query();where we SELECT to return the ResultSet,
- executeUpdate (); where we CREATE TABLE,
UPDATE, INSERT, DROP, or DELETE,
which return a confirmation digit,
- execute();
The main related code is the following:
Statement stmt = conn.createStatement();
ResultSet rst = stmt.executeQuery("SELECT * (or other
field) FROM TABLE"); or
ResultSet rst = stmt.executeUpdate ("CREATE TABLE, UPDATE,
INSERT, DROP, or DELETE requests");
We can therafter access to the related columns of the table by codes,
such as:
int Value = rst.getInt(n);//get the int from the nth columun
String Data = rst.getString("Data");
And such as:
while(rst.next()){
int value = rst.getInt("culumnA");
String str = rst.getStrig ("columnB";
....
}
Finally:
ResultSet.close();
Statement.close();
Connection.close();
IV. Queries on a built Students database:
*/
import java.sql.*;
import oracle.jdbc.*;
import oracle.jdbc.OracleDriver;
public class showTable{
public static void main (String args []) throws SQLException
{
DriverManager.registerDriver (new oracle.jdbc.OracleDriver());
Connection conn = DriverManager.getConnection("jdbc:oracle:
thin:@HOST:1521:XE","User","Password");
Statement stmt = conn.createStatement();
try {
ResultSet rst = stmt.executeQuery( "SELECT * FROM Students
WHERE STUDENTID ='103' " );
try {
while ( rst.next() ) {
int numColumns = rst.getMetaData().getColumnCount();
for ( int i = 1 ; i <= numColumns ; i++ ) {//Column numbers start at 1.
System.out.println( "COLUMN " + i + " = " + rst.getObject(i) );
}
System.out.println();
}
} finally {
rst.close();
}
} finally {
stmt.close();
}
}
}// End of class showtable
|