JDBC Tutorials - Herong's Tutorial Examples - v3.14, by Herong Yang
PreparedStatement Overview
This section provides an overview of PreparedStatement.
If you have a SQL statement that needs to be executed multiple times, it is more efficient to use a JDBC PreparedStatement object to run it. JDBC PreparedStatement class supports the following main features:
A PreparedStatement object should be created from a Connection object with the prepareStatement() method and executed like a regular Statement object as shown in the following program:
/* DerbyPreparedSelect.java
* Copyright (c) HerongYang.com. All Rights Reserved.
*/
import java.util.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
public class DerbyPreparedSelect {
public static void main(String [] args) {
Connection con = null;
try {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.fscontext.RefFSContextFactory");
env.put(Context.PROVIDER_URL, "file:/local/fscontext");
Context ctx = new InitialContext(env);
DataSource ds = (DataSource) ctx.lookup("DerbyTestDB");
con = ds.getConnection();
// PreparedStatement for SELECT statement
PreparedStatement sta = con.prepareStatement(
"SELECT * FROM Profile WHERE ID = 2");
// Execute the PreparedStatement as a query
ResultSet res = sta.executeQuery();
// Get values out of the ResultSet
res.next();
String firstName = res.getString("FirstName");
String lastName = res.getString("LastName");
System.out.println("User ID 2: "+firstName+' '+lastName);
// Close ResultSet and PreparedStatement
res.close();
sta.close();
con.close();
} catch (Exception e) {
System.err.println("Exception: "+e.getMessage());
e.printStackTrace();
}
}
}
The output looks correct:
User ID 2: Janet Gates
Table of Contents
JDBC (Java Database Connectivity) Introduction
Installing and Running Derby (Java DB)
Derby (Java DB) JDBC DataSource Objects
Derby (Java DB) - DML Statements
Derby (Java DB) - ResultSet Objects of Queries
►Derby (Java DB) - PreparedStatement
PreparedStatement with Parameters
PreparedStatement in Batch Mode
Performance of Inserting Rows with a PreparedStatement
Performance of Inserting Rows with a Regular Statement
Performance of Inserting Rows with a ResultSet
Summary of JDBC Drivers and Database Servers