JDBC PreparedStatement example to Insert a Record

Here is an example to show you how to insert a record into table via JDBC PreparedStatement.
To issue an insert statement, calls the PreparedStatement.executeUpdate() method
** UPDATE: Complete JDBC tutorial now available here.
String insertTableQuery= "INSERT INTO EMPLOYEE" + "(USER_ID, USERNAME, CREATED_BY) VALUES (?,?,?)"; PreparedStatement preparedStatement = connection.prepareStatement(insertTableQuery); preparedStatement.setInt(1, 1000); preparedStatement.setString(2, "nilafar"); preparedStatement.setString(3, "admin"); // execute insert SQL statement preparedStatement .executeUpdate();
Full example…
package com.simplecode.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class JDBCPreparedStmtInsertExample
{
private static final String dbDriver = "oracle.jdbc.driver.OracleDriver";
private static String serverName = "127.0.0.1";
private static String portNumber = "1521";
private static String sid = "XE";
private static final String dbUrl = "jdbc:oracle:thin:@" + serverName + ":"
+ portNumber + ":" + sid;
private static final String dbUser = "system";
private static final String dbPassword = "admin";
public static void main(String[] argc)
{
try
{
insertRecordIntoTable();
}
catch (SQLException e)
{
System.err.println(e.getMessage());
}
}
private static void insertRecordIntoTable() throws SQLException
{
Connection connection = null;
PreparedStatement prepareStmt = null;
String insertTableQuery = "INSERT INTO EMPLOYEE"
+ "(USER_ID, USERNAME, CREATED_BY) VALUES (?,?,?)";
try
{
connection = getDBConnection();
prepareStmt = connection.prepareStatement(insertTableQuery);
prepareStmt.setInt(1, 1000);
prepareStmt.setString(2, "Nilafar");
prepareStmt.setString(3, "admin");
// execute insert SQL statement
prepareStmt.executeUpdate();
System.out.println("Record is inserted into EMPLOYEE table!");
}
catch (SQLException e)
{
System.err.println(e.getMessage());
}
finally
{
if (prepareStmt != null)
{
prepareStmt.close();
}
if (connection != null)
{
connection.close();
}
}
}
private static Connection getDBConnection()
{
Connection dbConnection = null;
try
{
Class.forName(dbDriver);
}
catch (ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
try
{
dbConnection = DriverManager.getConnection(dbUrl, dbUser, dbPassword);
return dbConnection;
}
catch (SQLException e)
{
System.err.println("Db "+e.getMessage());
}
return dbConnection;
}
}
Note: Once a PreparedStatement is prepared, it can be reused after execution. You reuse a PreparedStatement by setting new values for the parameters and then execute it again.
Here is a simple example.
String insertTableQuery= "INSERT INTO EMPLOYEE" + "(USER_ID, USERNAME, CREATED_BY) VALUES (?,?,?)"; PreparedStatement preparedStatement = connection.prepareStatement(insertTableQuery); preparedStatement.setInt(1, 1000); preparedStatement.setString(2, "nilafar"); preparedStatement.setString(3, "admin"); // execute insert SQL statement preparedStatement .executeUpdate(); // Reuse the prepared statement preparedStatement.setInt(1, 1001); preparedStatement.setString(2, "Jamil"); preparedStatement.setString(3, "admin"); preparedStatement .executeUpdate();

