/
Hipahopa808
/
SpringCourse
Обзор
Документация
Войти
/
Hipahopa808
/
SpringCourse
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Lesson26.SpringJDBC2/src/main/java/ru/alishev/springcourse/dao/PersonDAO.java
134 строки
4 KB
Neil Alishev
Add Lesson 26 code
11 дек 2020, 13:03
11 дек 2020, 13:03
c7be6c1
Код
Авторство
О чём код?
package ru.alishev.springcourse.dao; import org.springframework.stereotype.Component; import ru.alishev.springcourse.models.Person; import java.sql.*; import java.util.ArrayList; import java.util.List; /** * @author Neil Alishev */ @Component public class PersonDAO { private static int PEOPLE_COUNT; private static final String URL = "jdbc:postgresql://localhost:5432/first_db"; private static final String USERNAME = "postgres"; private static final String PASSWORD = "postgres"; private static Connection connection; static { try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); } catch (SQLException throwables) { throwables.printStackTrace(); } } public List<Person> index() { List<Person> people = new ArrayList<>(); try { Statement statement = connection.createStatement(); String SQL = "SELECT * FROM Person"; ResultSet resultSet = statement.executeQuery(SQL); while (resultSet.next()) { Person person = new Person(); person.setId(resultSet.getInt("id")); person.setName(resultSet.getString("name")); person.setEmail(resultSet.getString("email")); person.setAge(resultSet.getInt("age")); people.add(person); } } catch (SQLException throwables) { throwables.printStackTrace(); } return people; } public Person show(int id) { Person person = null; try { PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM Person WHERE id=?"); preparedStatement.setInt(1, id); ResultSet resultSet = preparedStatement.executeQuery(); resultSet.next(); person = new Person(); person.setId(resultSet.getInt("id")); person.setName(resultSet.getString("name")); person.setEmail(resultSet.getString("email")); person.setAge(resultSet.getInt("age")); } catch (SQLException throwables) { throwables.printStackTrace(); } return person; } public void save(Person person) { try { PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO Person VALUES(1, ?, ?, ?)"); preparedStatement.setString(1, person.getName()); preparedStatement.setInt(2, person.getAge()); preparedStatement.setString(3, person.getEmail()); preparedStatement.executeUpdate(); } catch (SQLException throwables) { throwables.printStackTrace(); } } public void update(int id, Person updatedPerson) { try { PreparedStatement preparedStatement = connection.prepareStatement("UPDATE Person SET name=?, age=?, email=? WHERE id=?"); preparedStatement.setString(1, updatedPerson.getName()); preparedStatement.setInt(2, updatedPerson.getAge()); preparedStatement.setString(3, updatedPerson.getEmail()); preparedStatement.setInt(4, id); preparedStatement.executeUpdate(); } catch (SQLException throwables) { throwables.printStackTrace(); } } public void delete(int id) { PreparedStatement preparedStatement = null; try { preparedStatement = connection.prepareStatement("DELETE FROM Person WHERE id=?"); preparedStatement.setInt(1, id); preparedStatement.executeUpdate(); } catch (SQLException throwables) { throwables.printStackTrace(); } } }