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