소개
이 프로젝트에서는 JDBC 와 PreparedStatement 를 사용하여 MySQL 데이터베이스 테이블에서 데이터를 삭제하는 방법을 배우게 됩니다. 이 프로젝트는 보안 및 성능 향상을 위해 일반 SQL 문보다 PreparedStatement 를 사용하는 것의 이점을 보여주는 데 중점을 둡니다.
👀 미리보기

🎯 과제
이 프로젝트에서 다음을 배우게 됩니다:
- JDBC 를 사용하여 데이터베이스 연결을 설정하는 방법
- DELETE 쿼리를 실행하기 위해 PreparedStatement 를 생성하는 방법
- PreparedStatement 에서 매개변수를 설정하는 방법
- DELETE 작업을 실행하고 결과를 처리하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- 데이터베이스 작업에 PreparedStatement 를 사용하는 것의 중요성을 이해합니다.
- PreparedStatement 를 사용하여 MySQL 데이터베이스 테이블에서 데이터를 삭제하는 Java 프로그램을 구현합니다.
- Java 애플리케이션에서 데이터베이스 연결 및 리소스를 관리하는 능력을 보여줍니다.
- 안전하고 효율적인 데이터베이스 상호 작용을 위한 모범 사례를 적용합니다.
MySQL 서비스 시작 및 데이터베이스 가져오기
이 단계에서는 MySQL 서비스를 시작하고 edusys.sql 데이터베이스를 가져오는 방법을 배우게 됩니다. 이 단계를 완료하려면 아래 단계를 따르세요:
MySQL 서비스를 시작합니다. 터미널에서 다음 명령을 실행하여 이 작업을 수행할 수 있습니다:
sudo service mysql startedusys.sql데이터베이스를 MySQL 로 가져옵니다. 터미널에서 다음 명령을 실행하여 이 작업을 수행할 수 있습니다:mysql -u root < /home/labex/project/edusys.sql
이 명령은 root 사용자를 사용하여 edusys.sql 데이터베이스를 MySQL 로 가져옵니다.
새로운 Java 프로젝트 생성
이 단계에서는 새로운 Java 프로젝트 디렉토리를 생성하고 필요한 파일을 이동하는 방법을 배우게 됩니다.
새로운 Java 프로젝트 디렉토리를 생성합니다:
mkdir teacher teacher/src teacher/lib teacher/binJDBC 드라이버 패키지를
teacher/lib디렉토리로 이동합니다:mv mysql-connector-java-8.0.21.jar ./teacher/libJDBCDeleteByPreparedStatement.java파일을teacher/src디렉토리로 이동합니다:mv JDBCDeleteByPreparedStatement.java ./teacher/src
삭제 시스템 구현
이 단계에서는 'JDBCDeleteByPreparedStatement.java' 파일에서 대학 정보 삭제 시스템에 대한 코드를 구현합니다. 이 단계를 완료하려면 다음 단계를 따르세요.
텍스트 편집기에서
JDBCDeleteByPreparedStatement.java파일을 엽니다.main()메서드에 다음 코드를 추가합니다:Connection connection = null; PreparedStatement preparedStatement = null; try { String url = "jdbc:mysql://localhost:3306/edusys"; String username = "root"; String password = ""; // Establish the database connection connection = DriverManager.getConnection(url, username, password); // Create and prepare the delete SQL statement String deleteSQL = "DELETE FROM instructor WHERE name = ?"; // Using a placeholder for the parameter preparedStatement = connection.prepareStatement(deleteSQL); preparedStatement.setString(1, "Wu"); // Set the parameter value // Execute the delete operation int affectedRows = preparedStatement.executeUpdate(); System.out.println("The delete operation affected " + affectedRows + " rows"); } catch (SQLException e) { e.printStackTrace(); } finally { // Close the connection and release resources try { if (preparedStatement != null) { preparedStatement.close(); } if (connection != null) { connection.close(); } } catch (SQLException e) { e.printStackTrace(); } }이 코드는 MySQL 데이터베이스에 연결하고, 사용자에게 쿼리할 테이블을 선택하라는 메시지를 표시하고, 적절한 SQL 쿼리를 실행하고, 결과를 콘솔에 출력합니다.
JDBCDeleteByPreparedStatement.java파일을 저장합니다.
애플리케이션 실행
이 마지막 단계에서는 애플리케이션을 실행합니다.
터미널을 열고
teacher디렉토리로 이동합니다:cd ~/project/teacherJava 파일을 컴파일합니다:
javac -d bin/ src/JDBCDeleteByPreparedStatement.java애플리케이션을 실행합니다:
java -cp bin/:lib/mysql-connector-java-8.0.21.jar JDBCDeleteByPreparedStatement
다음과 같은 출력을 볼 수 있습니다:
The delete operation affected 1 rows
축하합니다! 프로젝트를 성공적으로 완료했습니다.
요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.



