image.png

image.png

image.png

PreparedStatement

String sql = "SELECT * FROM students WHERE name=?";
PreparedStatement stmt = con.prepareStatement(sql);
System.out.print("Enter name to find: ");
String name = sc.next();
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
while(rs.next()) {
    int roll = rs.getInt("roll");
    String name = rs.getString("name");
    double marks = rs.getDouble("marks");
    System.out.printf("%d, %s, %.2f\\n", roll, name, marks);
}

MySQL Programming steps -- PreparedStatement

  1. Add JDBC driver into project/classpath.

  2. Load and register driver class.

    Class.forName("com.mysql.cj.jdbc.Driver");
    
  3. Create database connection.

    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname", "dbuser", "dbpassword");
    
  4. Create PreparedStatement with (paramterized) SQL query.

    String sql = "sql query with ?";
    PreparedStatement stmt = con.prepareStatement(sql);
    
  5. Set param values, execute the query and process the result.

    stmt.setInt(1, val1); // set 1st param ? value
    stmt.setString(2, val2); // set 2nd param ? value
    // for non-SELECT queries
    int count = stmt.executeUpdate();
    // for SELECT queries
    ResultSet rs = stmt.executeQuery();
    while(rs.next()) {    
    		int val1 = rs.getInt("col1");    
    		String val2 = rs.getString("col2");    
    		// ...
    }
    rs.close();
    
  6. Close statement and connection.

    stmt.close();
    con.close();
    

java.sql.PreparedStatement