Sobes.tech
Middle
36

JDBC арқылы белгілі бір күннен кейін туған барлық адамдарды алу шешімі қалай көрінеді?

Сұралған компаниялар
Финансовые платформы

AI-дан жауап

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, родившихся после указанной даты.