JDBC Tutorials - Herong's Tutorial Examples - 3.10, by Dr. 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:
/* SqlServerPreparedSelect.java * Copyright (c) HerongYang.com. All Rights Reserved. */ import java.sql.*; public class SqlServerPreparedSelect { public static void main(String [] args) { Connection con = null; try { com.microsoft.sqlserver.jdbc.SQLServerDataSource ds = new com.microsoft.sqlserver.jdbc.SQLServerDataSource(); ds.setServerName("localhost"); // ds.setPortNumber(60782); ds.setInstanceName("SQLEXPRESS"); ds.setDatabaseName("AdventureWorks2014"); ds.setUser("Herong"); ds.setPassword("T0pSecret"); 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) { e.printStackTrace(); } } }
The output looks correct:
herong> Progra~1\java\jdk1.8.0_45\bin\javac -cp .;\local\lib\sqljdbc42.jar SqlServerPreparedSelect.java herong> Progra~1\java\jdk1.8.0_45\bin\java -cp .;\local\lib\sqljdbc42.jar SqlServerPreparedSelect User ID 2: Janet Gates
Table of Contents
JDBC (Java Database Connectivity) Introduction
Installing and Running Java DB - Derby
Derby (Java DB) JDBC DataSource Objects
Java DB (Derby) - DML Statements
Java DB (Derby) - ResultSet Objects of Queries
Java DB (Derby) - PreparedStatement
MySQL JDBC Driver (MySQL Connector/J)
MySQL - Reference Implementation of JdbcRowSet
MySQL - JBDC CallableStatement
MySQL CLOB (Character Large Object) - TEXT
MySQL BLOB (Binary Large Object) - BLOB
Oracle Express Edition Installation on Windows
Oracle - Reference Implementation of JdbcRowSet
Oracle - JBDC CallableStatement
Oracle CLOB (Character Large Object) - TEXT
Oracle BLOB (Binary Large Object) - BLOB
Microsoft SQL Server Express Edition
Microsoft JDBC Driver for SQL Server
Microsoft JDBC Driver - Query Statements and Result Sets
Microsoft JDBC Driver - DatabaseMetaData Object
Microsoft JDBC Driver - DDL Statements
Microsoft JDBC Driver - DML Statements
►SQL Server - PreparedStatement
Create a New User in SQL Server
Creating a Table with an IDENTITY Column
Inserting Rows to the Test Table
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
SQL Server CLOB (Character Large Object) - TEXT
SQL Server BLOB (Binary Large Object) - BLOB
JDBC-ODBC Bridge Driver - sun.jdbc.odbc.JdbcOdbcDriver
JDBC-ODBC Bridge Driver - Flat Text Files
JDBC-ODBC Bridge Driver - MS Access
JDBC-ODBC Bridge Driver - MS SQL Server
Summary of JDBC Drivers and Database Servers