[java] Apache Derby를 사용하여 데이터베이스에서 일정 기간 동안의 데이터를 자동으로 삭제하는 방법은 무엇인가요?
Apache Derby는 경량 데이터베이스 관리 시스템으로, Java 애플리케이션에서 사용할 수 있습니다. 데이터베이스에서 특정 기간 동안의 데이터를 자동으로 삭제하기 위해서는 다음과 같은 단계를 진행해야 합니다:
- Derby 데이터베이스에 접속합니다. 이를 위해
java.sql.Connection
객체를 사용합니다.Connection conn = DriverManager.getConnection("jdbc:derby:/path/to/database");
- 삭제할 데이터의 기준이 되는 날짜를 계산합니다. 예를 들어, 30일 이전의 데이터를 삭제하고 싶다면 현재 날짜에서 30일을 뺀 값을 계산합니다. 이를 위해
java.util.Date
및java.util.Calendar
클래스를 사용할 수 있습니다.Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH, -30); Date deleteDate = calendar.getTime();
- 해당 날짜 이전의 데이터를 삭제하는 쿼리를 작성하고 실행합니다.
String deleteQuery = "DELETE FROM your_table WHERE date_column < ?"; PreparedStatement stmt = conn.prepareStatement(deleteQuery); stmt.setDate(1, deleteDate); stmt.executeUpdate();
위의 단계를 순서대로 따라가면, Derby 데이터베이스에서 일정 기간 동안의 데이터를 자동으로 삭제할 수 있습니다.
참고:
- Apache Derby 공식 문서: https://db.apache.org/derby/docs/
- Java SQL 패키지 문서: https://docs.oracle.com/en/java/javase/11/docs/api/java.sql.module-summary.html