🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
In this tutorial, we will show you how to update data in a PostgreSQL database using Java and the JDBC API. By following this step-by-step guide, you’ll learn how to update records in a PostgreSQL table through a Java program.
What You’ll Learn:
- How to connect to a PostgreSQL database using JDBC.
- How to update a record in the PostgreSQL database.
- How to handle SQL exceptions in Java.
Technologies Used:
In this tutorial, we will be using the following technologies:
- JDK: Version 21 or later
- PostgreSQL JDBC Driver: Version 42.7.4
- IDE: Eclipse, IntelliJ IDEA, or any preferred IDE
- JDBC: Version 4.2
Step 1: Download PostgreSQL JDBC Driver
To connect your Java program to a PostgreSQL database, you need the PostgreSQL JDBC driver. You can either download it manually or use Maven or Gradle to include it in your project.
For Maven Users:
Add the following dependency to your pom.xml file:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.7.4</version>
</dependency>
For Gradle Users:
Add the following line to your build.gradle file:
implementation 'org.postgresql:postgresql:42.7.4'
This will automatically add the PostgreSQL JDBC driver to your project.
Step 2: PostgreSQL Database Setup
Ensure that you have the PostgreSQL database set up. We’ll be working with a users table that contains the following fields:
CREATE TABLE users (
ID INT PRIMARY KEY,
NAME TEXT,
EMAIL VARCHAR(50),
COUNTRY VARCHAR(50),
PASSWORD VARCHAR(50)
);
If you’ve already inserted some data into the table, you are now ready to update the records.
Step 3: Writing Java Code to Update Data in PostgreSQL
Steps to Update Data:
- Establish a connection to the PostgreSQL database.
- Create a
PreparedStatementobject to execute the SQL update statement. - Execute the
UPDATEstatement usingexecuteUpdate(). - Close the connection to the database.
Java Program: Update a Record in PostgreSQL
package com.example.postgresql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UpdateRecordExample {
private final String url = "jdbc:postgresql://localhost/mydb";
private final String user = "postgres";
private final String password = "root";
// SQL query to update the user's name by ID
private static final String UPDATE_USERS_SQL = "UPDATE users SET name = ? WHERE id = ?;";
public static void main(String[] args) {
UpdateRecordExample example = new UpdateRecordExample();
try {
example.updateRecord();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void updateRecord() throws SQLException {
System.out.println(UPDATE_USERS_SQL);
// Step 1: Establishing a Connection
try (Connection connection = DriverManager.getConnection(url, user, password);
// Step 2: Create a statement using connection object
PreparedStatement preparedStatement = connection.prepareStatement(UPDATE_USERS_SQL)) {
// Set the parameters for the query
preparedStatement.setString(1, "Ram");
preparedStatement.setInt(2, 1);
// Step 3: Execute the update query
int rowsAffected = preparedStatement.executeUpdate();
System.out.println("Number of rows updated: " + rowsAffected);
} catch (SQLException e) {
printSQLException(e);
}
}
public static void printSQLException(SQLException ex) {
for (Throwable e : ex) {
if (e instanceof SQLException) {
e.printStackTrace(System.err);
System.err.println("SQLState: " + ((SQLException) e).getSQLState());
System.err.println("Error Code: " + ((SQLException) e).getErrorCode());
System.err.println("Message: " + e.getMessage());
Throwable t = ex.getCause();
while (t != null) {
System.out.println("Cause: " + t);
t = t.getCause();
}
}
}
}
}
Explanation:
- PreparedStatement: We use
PreparedStatementto securely pass parameters to the SQL query. - setString(1, "Ram"): This sets the first parameter (the new name) in the SQL query to
"Ram". - setInt(2, 1): This sets the second parameter (the ID) in the SQL query to
1. - executeUpdate(): Executes the update and returns the number of rows affected.
Step 4: Running the Java Program
To Update a Record:
- Run the
main()method in your IDE. - The program will update the name of the user with ID
1to"Ram".
Sample Output:
UPDATE users SET name = ? WHERE id = ?;
Number of rows updated: 1
If the update is successful, it will print the number of rows affected (in this case, 1).
Handling SQL Exceptions
The printSQLException() method helps handle and debug SQL exceptions by printing detailed error information:
public static void printSQLException(SQLException ex) {
for (Throwable e : ex) {
if (e instanceof SQLException) {
e.printStackTrace(System.err);
System.err.println("SQLState: " + ((SQLException) e).getSQLState());
System.err.println("Error Code: " + ((SQLException) e).getErrorCode());
System.err.println("Message: " + e.getMessage());
Throwable t = ex.getCause();
while (t != null) {
System.out.println("Cause: " + t);
t = t.getCause();
}
}
}
}
Conclusion
In this tutorial, we demonstrated how to update a record in a PostgreSQL database using the JDBC API in Java. You learned how to establish a connection, use a PreparedStatement to execute the UPDATE query, and handle SQL exceptions properly.
Key Takeaways:
- Use PreparedStatement for secure and efficient SQL updates.
- Always handle SQL exceptions to debug issues during the update process.
By following this guide, you can easily update records in your PostgreSQL database using Java.
My Top and Bestseller Udemy Courses. The sale is going on with a 70 - 80% discount. The discount coupon has been added to each course below:
Build REST APIs with Spring Boot 4, Spring Security 7, and JWT
[NEW] Learn Apache Maven with IntelliJ IDEA and Java 25
ChatGPT + Generative AI + Prompt Engineering for Beginners
Spring 7 and Spring Boot 4 for Beginners (Includes 8 Projects)
Available in Udemy for Business
Building Real-Time REST APIs with Spring Boot - Blog App
Available in Udemy for Business
Building Microservices with Spring Boot and Spring Cloud
Available in Udemy for Business
Java Full-Stack Developer Course with Spring Boot and React JS
Available in Udemy for Business
Build 5 Spring Boot Projects with Java: Line-by-Line Coding
Testing Spring Boot Application with JUnit and Mockito
Available in Udemy for Business
Spring Boot Thymeleaf Real-Time Web Application - Blog App
Available in Udemy for Business
Master Spring Data JPA with Hibernate
Available in Udemy for Business
Spring Boot + Apache Kafka Course - The Practical Guide
Available in Udemy for Business
Comments
Post a Comment
Leave Comment