Java SE JDBC with Prepared Statement Parameterized Select Example


Post Banner

In this Tutorial, we will take a look at how to write in Simple Java SE JDBC a prepared Select Parameterized Select,

Table:
CREATE TABLE `students` (
  `student_id` int NOT NULL AUTO_INCREMENT,
  `student_name` varchar(45) NOT NULL,
  `student_dob` datetime NOT NULL,
  `student_address` varchar(45) NOT NULL,
  PRIMARY KEY (`student_id`,`student_dob`);
Data in the table:
select * from students;
+------------+--------------+---------------------+-----------------+
| student_id | student_name | student_dob         | student_address |
+------------+--------------+---------------------+-----------------+
|          1 | Mike         | 2001-07-22 00:00:00 | New York City   |
|          2 | Alex         | 2002-08-13 00:00:00 | Chicago         |
|          3 | Sam          | 2022-01-25 00:00:00 | Ohio            |
+------------+--------------+---------------------+-----------------+
Java Example:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * Java SE JDBC Parameterized Select 
 * Query example.
 */
public class JavaJDBCParameterizedSelectExample {

    private static final String MYSQL_JDBC_DRIVER_CLASS = "com.mysql.cj.jdbc.Driver";
    private static final String MYSQL_DB_URL = "jdbc:mysql://localhost:3306/my_uat";
    private static final String MYSQL_DB_USER = "root";
    private static final String MYSQL_DB_USER_PASSWORD = "root123";

    private static final String SQL_PARAMETERIZED_QUERY = 
       "SELECT * from students where student_name=? or student_address=?";

    private static String studentName="Mike";
    private static String studentAddress="Chicago";

    public static void main(String[] args) {
            
        try(Connection connection = DriverManager.getConnection(MYSQL_DB_URL,MYSQL_DB_USER,MYSQL_DB_USER_PASSWORD)) {

            try {
                Class.forName(MYSQL_JDBC_DRIVER_CLASS);
            } catch (ClassNotFoundException e) {
                System.out.println("Database Vendor Driver class not found!");
                e.printStackTrace();
            }

            PreparedStatement statement = connection.prepareStatement(SQL_PARAMETERIZED_QUERY);
            statement.setString(1, studentName);
            statement.setString(2, studentAddress);


            ResultSet resultSet = statement.executeQuery(); 

            while(resultSet.next())  {
                System.out.println(resultSet.getInt(1)+"  "+
                resultSet.getString(2)+"  "+
                resultSet.getDate(3)+"  "+
                resultSet.getString(4));
            }     
                
        } catch (SQLException e) {
            System.out.println("Error occured while executing query: " + SQL_PARAMETERIZED_QUERY);
            e.printStackTrace();
        } 
    }

}
Output:

1 Mike 2001-07-22 New York City
2 Alex 2002-08-13 Chicago



Have Questions? Post them here!
Advertisements
Try Out Code2care Dev Tools:

Advertisements

Advertisements
Code2care is an initiative to publish and share varied knowledge in programming and technical areas gathered during day-to-day learnings and development activities.

Students and software developers can leverage this portal to find solutions to their various queries without re-inventing the wheel by referring to our easy to understand posts. Technical posts might include learnings, tutorials, trouble-shooting steps, video tutorials, code snippets, how-to, blogs, articles, etc.

🎉 We are celebrating the 10th years of Code2care! Thank you for all your support!

We strongly support Gender Equality & Diversity.