Java Sql Delete Prepared Statement Example

JDBC PreparedStatement Tutorial - Select, Insert, Update and Delete Example

In this tutorial, we will learn how to use JDBC PreparedStatement to insert, select, update and delete records with MySQL database.

What is Prepared Statement

A Prepared Statement is simply a precompiled SQL statement.

Prepared Statements provide the following benefits:

  • They make it easier to set SQL parameters.
  • They prevent SQL dependency injection attacks, and they also may improve the application.
  • It provides better performance since the SQL statement is precompiled.

Key points

  1. From JDBC 4.0, we don't need to include 'Class.forName()' in our code to load JDBC driver. JDBC 4.0 drivers that are found in your classpath are automatically loaded.
  2. We use try-with-resources statements to automatically close JDBC resources

Technologies used

  • JDK - 1.8 or later
  • MySQL - 8+
  • IDE - Eclipse Neon
  • JDBC API - 4.2

Prep work

  • You need to have MySQL database installed - https://dev.mysql.com/downloads/installer/
  • Download MySQL JDBC Driver - https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.18
  • Use the following SQL statement to create a Database in MySQL Workbench:
                create                database                jdbc_demo;
  • Create ausers table using the following DDL Script:
                CREATE                TABLE                `users` (   `id` int(3)                NOT                NULL,   `name` varchar(20)                DEFAULT                NULL,   `email` varchar(20)                DEFAULT                NULL,   `country` varchar(20)                DEFAULT                NULL,   `password` varchar(20)                DEFAULT                NULL,                PRIMARY                KEY                (`id`) )                ENGINE                =                InnoDB                DEFAULT                CHARSET                =utf8mb4                COLLATE                =utf8mb4_0900_ai_ci;

JDBC PreparedStatement - Insert a Record Example

In this example, we will use theusers database table that is created in the above section.

PreparedStatement interface provides theexecuteUpdate() method - executes the SQL statement in this PreparedStatement object, which must be an SQL Data Manipulation Language (DML) statement, such as INSERT, UPDATE or DELETE; or an SQL statement that returns nothing, such as a DDL statement.

                package                com.javaguides.jdbc.preparestatement.examples;                import                java.sql.Connection;                import                java.sql.DriverManager;                import                java.sql.PreparedStatement;                import                java.sql.SQLException;                /**                                  * Insert PrepareStatement JDBC Example                                  *                                                  *                  @author                  Ramesh Fadatare                                  *                                  */                                public                class                InsertPStatementExample                {                private                static                final                String                INSERT_USERS_SQL                =                                  "INSERT INTO users"                                +                                  "                  (id, name, email, country, password) VALUES                  "                                +                                  "                  (?, ?, ?, ?, ?);"                ;                public                static                void                main(String[]                argv)                throws                SQLException                {                InsertPStatementExample                createTableExample                =                new                InsertPStatementExample();         createTableExample.insertRecord();     }                public                void                insertRecord()                throws                SQLException                {                System                .out.println(INSERT_USERS_SQL);                                  //                  Step 1: Establishing a Connection                try                (Connection                connection                =                DriverManager                .getConnection(                  "jdbc:mysql://localhost:3306/mysql_database?useSSL=false"                ,                                  "root"                ,                                  "root"                );                                  //                  Step 2:Create a statement using connection object                PreparedStatement                preparedStatement                =                connection.prepareStatement(INSERT_USERS_SQL)) {             preparedStatement.setInt(1,                1);             preparedStatement.setString(2,                                  "Tony"                );             preparedStatement.setString(3,                                  "tony@gmail.com"                );             preparedStatement.setString(4,                                  "US"                );             preparedStatement.setString(5,                                  "secret"                );                System                .out.println(preparedStatement);                                  //                  Step 3: Execute the query or update query                preparedStatement.executeUpdate();         }                catch                (SQLException                e) {                                  //                  print SQL exception information                printSQLException(e);         }                                  //                  Step 4: try-with-resource statement will auto close the connection.                }                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();                 }             }         }     } }

Output

JDBC PreparedStatement - Update a Record Example

In the previous example, we have inserted a record into theusers table and now we will update the same record with below Java program:

                    package                    com.javaguides.jdbc.preparestatement.examples;                    import                    java.sql.Connection;                    import                    java.sql.DriverManager;                    import                    java.sql.PreparedStatement;                    import                    java.sql.SQLException;                    /**                                          * Update PreparedStatement JDBC Example                                          *                      @author                      Ramesh Fadatare                                          *                                          */                                        public                    class                    UpdatePStatementExample                    {                    private                    static                    final                    String                    UPDATE_USERS_SQL                    =                                          "update users set name = ? where id = ?;"                    ;                    public                    static                    void                    main(String[]                    argv)                    throws                    SQLException                    {                    UpdatePStatementExample                    updateStatementExample                    =                    new                    UpdatePStatementExample();         updateStatementExample.updateRecord();     }                    public                    void                    updateRecord()                    throws                    SQLException                    {                    System                    .out.println(UPDATE_USERS_SQL);                                          //                      Step 1: Establishing a Connection                    try                    (Connection                    connection                    =                    DriverManager                    .getConnection(                      "jdbc:mysql://localhost:3306/mysql_database?useSSL=false"                    ,                                          "root"                    ,                                          "root"                    );                                          //                      Step 2:Create a statement using connection object                    PreparedStatement                    preparedStatement                    =                    connection.prepareStatement(UPDATE_USERS_SQL)) {             preparedStatement.setString(1,                                          "Ram"                    );             preparedStatement.setInt(2,                    1);                                          //                      Step 3: Execute the query or update query                    preparedStatement.executeUpdate();         }                    catch                    (SQLException                    e) {                                          //                      print SQL exception information                    printSQLException(e);         }                                          //                      Step 4: try-with-resource statement will auto close the connection.                    }                    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();                 }             }         }     } }

Output

JDBC PreparedStatement - Select a Record Example

In the previous example, we have inserted or updated a record into theusers table and now we will query a list of users from the database table by id.

                package                com.javaguides.jdbc.preparestatement.examples;                import                java.sql.Connection;                import                java.sql.DriverManager;                import                java.sql.PreparedStatement;                import                java.sql.ResultSet;                import                java.sql.SQLException;                /**                                  * Select PreparedStatement JDBC Example                                  *                                                  *                  @author                  Ramesh Fadatare                                  *                                  */                                public                class                SelectPStatementExample                {                private                static                final                String                QUERY                =                                  "select id,name,email,country,password from Users where id =?"                ;                public                static                void                main(String[]                args) {                                  //                  using try-with-resources to avoid closing resources (boiler plate code)                                  //                  Step 1: Establishing a Connection                try                (Connection                connection                =                DriverManager                .getConnection(                  "jdbc:mysql://localhost:3306/jdbc_demo?useSSL=false"                ,                                  "root"                ,                                  "root"                );                                  //                  Step 2:Create a statement using connection object                PreparedStatement                preparedStatement                =                connection.prepareStatement(QUERY);) {             preparedStatement.setInt(1,                1);                System                .out.println(preparedStatement);                                  //                  Step 3: Execute the query or update query                ResultSet                rs                =                preparedStatement.executeQuery();                                  //                  Step 4: Process the ResultSet object.                while                (rs.next()) {                int                id                =                rs.getInt(                  "id"                );                String                name                =                rs.getString(                  "name"                );                String                email                =                rs.getString(                  "email"                );                String                country                =                rs.getString(                  "country"                );                String                password                =                rs.getString(                  "password"                );                System                .out.println(id                +                                  ","                                +                name                +                                  ","                                +                email                +                                  ","                                +                country                +                                  ","                                +                password);             }         }                catch                (SQLException                e) {             printSQLException(e);         }                                  //                  Step 4: try-with-resource statement will auto close the connection.                }                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();                 }             }         }     } }

Output:

              1,Ram,tony@gmail.com,US,secret            

JDBC PreparedStatement - Delete a Record Example

Let's write a Java program to delete a record from MySQL database using Java JDBC:

                package                com.javaguides.jdbc.preparestatement.examples;                import                java.sql.Connection;                import                java.sql.DriverManager;                import                java.sql.PreparedStatement;                import                java.sql.SQLException;                /**                                  * Delete Statement JDBC Example                                  *                                                  *                  @author                  Ramesh Fadatare                                  *                                  */                                public                class                DeletePreparedStatementExample                {                private                static                final                String                DELETE_USERS_SQL                =                                  "delete from users where id = ?;"                ;                public                static                void                main(String[]                argv)                throws                SQLException                {                DeletePreparedStatementExample                deleteStatementExample                =                new                DeletePreparedStatementExample();         deleteStatementExample.deleteRecord();     }                public                void                deleteRecord()                throws                SQLException                {                System                .out.println(DELETE_USERS_SQL);                                  //                  no need to register driver manually                                  //                  Step 1: Establishing a Connection                try                (Connection                connection                =                DriverManager                .getConnection(                  "jdbc:mysql://localhost:3306/jdbc_demo?useSSL=false"                ,                                  "root"                ,                                  "root"                );                                  //                  Step 2:Create a statement using connection object                PreparedStatement                statement                =                connection.prepareStatement(DELETE_USERS_SQL);) {             statement.setInt(1,                1);                                  //                  Step 3: Execute the query or update query                int                result                =                statement.executeUpdate();                System                .out.println(                  "Number of records affected ::                  "                                +                result);         }                catch                (SQLException                e) {                                  //                  print SQL exception information                printSQLException(e);         }                                  //                  Step 4: try-with-resource statement will auto close the connection.                }                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();                 }             }         }     } }

Output:

              delete from users where id = ?; Number of records affected :: 1            

Conclusion

In this tutorial, we have seen how to use JDBC PreparedStatement to insert, select, update and delete records with MySQL database.

Learn more about JDBC at https://www.javaguides.net/p/jdbc-tutorial.html

Free Spring Boot Tutorial | Full In-depth Course | Learn Spring Boot in 10 Hours


Watch this course on YouTube at Spring Boot Tutorial | Fee 10 Hours Full Course

hedrickeaspost.blogspot.com

Source: https://www.javaguides.net/2019/10/jdbc-preparedstatement-tutorial-select-insert-update-and-delete-example.html

0 Response to "Java Sql Delete Prepared Statement Example"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel