JDBC Prepared Statement Example


JDBC Prepared Statement Example

In this tutorial you will learn about java.sql.PreparedStatement interface and how to use it in your application

In this tutorial you will learn about java.sql.PreparedStatement interface and how to use it in your application

JDBC Prepared Statement

java.sql.PreparedStatement is enhanced version of java.sql.Statement.It inherits some functionality of java.sql.Statement and also add some extra feature to it. In is an enhanced version of statement which allows precompiled queries with parameter. It does not compile the query every time, The query once compiled is used every time. PreparedStatement object can also be used with SQL statement with no parameter.

Creating a java.sql.PreparedStamenet

PreparedStatement ptmt=con.prepareStatement(" UPDATE StudentDetail SET Name=? WHERE RollNo=?");

This ptmt object contains the UPDATE StudentDetail SET Name=? WHERE RollNo=? which have already sent to the DBMS and is prepared for execution.

Now we pass the parameter to ptmt object as


This sets the String "John" to the second column of the StudentDetail table.

An example given below which illustrates how to update the table using prepared statement.

At first create a database in MySql named student and then create a table StudentDetail into it

CREATE TABLE student (
Name tinytext NOT NULL,
Course varchar(25) NOT NULL,
Address text

Java code for Prepared Statement


package roseindia.net;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JDBCPreparedStatementExample {
	Connection connection = null;

	public JDBCPreparedStatementExample() {
		try {
			// Loading the driver
		} catch (ClassNotFoundException e) {

	public Connection createConnection() {
		Connection con = null;
		if (connection != null) {
			System.out.println("Cant create a connection");
		} else {
			try {
				// Crating a Connection to the Student database
				con = DriverManager.getConnection(
						"jdbc:mysql://localhost:3306/student", "root",
				System.out.println("Connection created Successfully");
			} catch (SQLException e) {
		return con;

	public static void main(String[] args) throws SQLException {
		JDBCPreparedStatementExample jdbccOnnectionExample = new JDBCPreparedStatementExample();
		Connection conn = jdbccOnnectionExample.createConnection();
		// Creating a Statement reference variable
		PreparedStatement ptmt = null;
		// getting the connection reference to the Statement
		String queryString = "UPDATE student SET Name=? WHERE RollNo=?";
		// getting reference of connection
		ptmt = conn.prepareStatement(queryString);
		// setting parameters to prepared statement
		ptmt.setString(1, "John");
		ptmt.setInt(2, 2);
		// Executing query
				.println("Table Updated successfully Using prepared statement............");
When you run this application it will display message as shown below:

Connection created Successfully
Table Updated successfully Using prepared statement............

Download this example code