PreparedStatement を使用した教師テーブルの変更

JavaBeginner
オンラインで実践に進む

はじめに

このプロジェクトでは、JDBC と PreparedStatement を使って MySQL データベースのテーブルからデータを削除する方法を学びます。このプロジェクトは、通常の SQL 文よりも PreparedStatement を使うことでセキュリティとパフォーマンスを向上させるメリットを示すことに焦点を当てています。

👀 プレビュー

Project preview screenshot

🎯 タスク

このプロジェクトでは、以下のことを学びます。

  • JDBC を使ってデータベース接続を確立する方法
  • DELETE クエリを実行するための PreparedStatement を作成する方法
  • PreparedStatement にパラメータを設定する方法
  • DELETE 操作を実行して結果を処理する方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • データベース操作における PreparedStatement の重要性を理解する
  • PreparedStatement を使って MySQL データベースのテーブルからデータを削除する Java プログラムを実装する
  • Java アプリケーションでデータベース接続とリソースを管理する能力を示す
  • セキュアで効率的なデータベース相互作用のベストプラクティスを適用する

MySQL サービスを起動してデータベースをインポートする

このステップでは、MySQL サービスを起動してedusys.sqlデータベースをインポートする方法を学びます。以下の手順に従ってこのステップを完了します。

  1. MySQL サービスを起動します。ターミナルで以下のコマンドを実行することで行えます。

    sudo service mysql start
    
  2. edusys.sqlデータベースを MySQL にインポートします。ターミナルで以下のコマンドを実行することで行えます。

    mysql -u root < /home/labex/project/edusys.sql
    

このコマンドは、root ユーザを使ってedusys.sqlデータベースを MySQL にインポートします。

新しい Java プロジェクトを作成する

このステップでは、新しい Java プロジェクトディレクトリを作成し、必要なファイルをその中に移動する方法を学びます。

  1. 新しい Java プロジェクトディレクトリを作成します。

    mkdir teacher teacher/src teacher/lib teacher/bin
    
  2. JDBC ドライバーパッケージをteacher/libディレクトリに移動します。

    mv mysql-connector-java-8.0.21.jar./teacher/lib
    
  3. JDBCDeleteByPreparedStatement.javaファイルをteacher/srcディレクトリに移動します。

    mv JDBCDeleteByPreparedStatement.java./teacher/src
    

削除システムの実装

このステップでは、「JDBCDeleteByPreparedStatement.java」ファイルに大学情報削除システムのコードを実装します。このステップを完了するには、以下の手順に従ってください。

  1. コードエディタで「JDBCDeleteByPreparedStatement.java」ファイルを開きます。

  2. 以下のコードを「main()」メソッドに追加します。

         Connection connection = null;
         PreparedStatement preparedStatement = null;
         try {
             String url = "jdbc:mysql://localhost:3306/edusys";
             String username = "root";
             String password = "";
             // データベース接続を確立する
             connection = DriverManager.getConnection(url, username, password);
    
             // 削除用の SQL 文を作成して準備する
             String deleteSQL = "DELETE FROM instructor WHERE name =?";  // パラメータ用のプレースホルダを使用
             preparedStatement = connection.prepareStatement(deleteSQL);
             preparedStatement.setString(1, "Wu");  // パラメータ値を設定する
    
             // 削除操作を実行する
             int affectedRows = preparedStatement.executeUpdate();
             System.out.println("The delete operation affected " + affectedRows + " rows");
         } catch (SQLException e) {
             e.printStackTrace();
         } finally {
             // 接続を閉じてリソースを解放する
             try {
                 if (preparedStatement!= null) {
                     preparedStatement.close();
                 }
                 if (connection!= null) {
                     connection.close();
                 }
             } catch (SQLException e) {
                 e.printStackTrace();
             }
         }
    

    このコードは MySQL データベースに接続し、ユーザーにクエリするテーブルを選択させ、適切な SQL クエリを実行し、結果をコンソールに表示します。

  3. 「JDBCDeleteByPreparedStatement.java」ファイルを保存します。

アプリケーションを実行する

この最後のステップでは、アプリケーションを実行します。

  1. ターミナルを開き、teacherディレクトリに移動します。

    cd ~/project/teacher
    
  2. Java ファイルをコンパイルします。

    javac -d bin/ src/JDBCDeleteByPreparedStatement.java
    
  3. アプリケーションを実行します。

    java -cp bin/:lib/mysql-connector-java-8.0.21.jar JDBCDeleteByPreparedStatement
    

以下の出力が表示されるはずです。

The delete operation affected 1 rows

おめでとうございます!このプロジェクトを正常に完了しました。

まとめ

おめでとうございます!このプロジェクトを完了しました。あなたは実験技術を向上させるために LabEx でさらに多くの実験を行うことができます。

✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習