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();