Middle
Comment serait la solution en JDBC pour obtenir toutes les personnes de la table persons nées après une date déterminée?
sobes.tech IA
Réponse de l'IA
Для получения всех людей из таблицы persons, родившихся после определённой даты, на JDBC можно использовать следующий пример кода:
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class PersonDAO {
private Connection connection;
public PersonDAO(Connection connection) {
this.connection = connection;
}
public List<Person> getPersonsBornAfter(Date date) throws SQLException {
String sql = "SELECT id, name, birth_date FROM persons WHERE birth_date > ?";
List<Person> persons = new ArrayList<>();
try (PreparedStatement stmt = connection.prepareStatement(sql)) {
stmt.setDate(1, date);
try (ResultSet rs = stmt.executeQuery()) {
while (rs.next()) {
Person p = new Person();
p.setId(rs.getInt("id"));
p.setName(rs.getString("name"));
p.setBirthDate(rs.getDate("birth_date"));
persons.add(p);
}
}
}
return persons;
}
}
// Класс Person для примера
class Person {
private int id;
private String name;
private Date birthDate;
// геттеры и сеттеры
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Date getBirthDate() { return birthDate; }
public void setBirthDate(Date birthDate) { this.birthDate = birthDate; }
}
В этом примере используется PreparedStatement для безопасной подстановки параметра даты, что предотвращает SQL-инъекции. Метод возвращает список объектов Person, родившихся после указанной даты.