Inserting Data using JDBC
Using Statement:
Statement is suitable for executing simple SQL queries without parameters.
Steps to Execute an INSERT Query Using Statement:
Establish a Connection: Establish a connection to the database.
Create a Statement: Create a Statement object using the connection.
Execute Query: Execute the SQL INSERT query using the Statement.
Example Code using Statement (Java):
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class StatementInsertExample {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase";
String username = "username";
String password = "password";
try (Connection connection = DriverManager.getConnection(jdbcUrl, username, password);
Statement statement = connection.createStatement()) {
String sqlQuery = "INSERT INTO users (name, age) VALUES ('John', 30)";
int rowsAffected = statement.executeUpdate(sqlQuery);
if (rowsAffected > 0) {
System.out.println("Data inserted successfully!");
} else {
System.out.println("Failed to insert data.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Using PreparedStatement:
PreparedStatement is used for executing parameterized SQL queries.
Steps to Execute an INSERT Query Using PreparedStatement:
Establish a Connection: Establish a connection to the database.
Create a PreparedStatement: Create a PreparedStatement object with the parameterized query using the connection.
Set Parameters: Set the parameter values using setter methods of the PreparedStatement.
Execute Query: Execute the PreparedStatement.
Example Code using PreparedStatement (Java):
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class PreparedStatementInsertExample {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase";
String username = "username";
String password = "password";
try (Connection connection = DriverManager.getConnection(jdbcUrl, username, password)) {
String sqlQuery = "INSERT INTO users (name, age) VALUES (?, ?)";
String name = "Alice";
int age = 25;
try (PreparedStatement preparedStatement = connection.prepareStatement(sqlQuery)) {
preparedStatement.setString(1, name);
preparedStatement.setInt(2, age);
int rowsAffected = preparedStatement.executeUpdate();
if (rowsAffected > 0) {
System.out.println("Data inserted successfully!");
} else {
System.out.println("Failed to insert data.");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Explanation:
StatementInsertExample: Uses
Statement
to insert data directly into theusers
table.PreparedStatementInsertExample: Uses
PreparedStatement
to insert data into theusers
table. Parameters (?) are used for values that will be replaced during execution, providing protection against SQL Injection.
Last updated