Назад к вопросам
Middle
4
Как на JDBC будет выглядеть решение задачи получения всех людей из таблицы persons, родившихся после определённой даты?
Компании, где спрашивали
Финансовые платформы
Ответ от нейросети
sobes.tech AI
Для получения всех людей из таблицы 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, родившихся после указанной даты.