/
Zakonreal
/
practice06
Обзор
Документация
Войти
/
Zakonreal
/
practice06
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/database/dao/StudentDaoImpl.java
110 строк
4 KB
RodinRoman
init
15 май 2025, 03:23
15 май 2025, 03:23
17d6e58
Код
Авторство
О чём код?
package database.dao; import database.model.Student; import java.sql.*; import java.util.ArrayList; import java.util.List; public class StudentDaoImpl implements StudentDao { public Connection connection; public StudentDaoImpl(Connection connection) { this.connection = connection; } @Override public List<Student> getAll() { List<Student> students = new ArrayList<>(); String sql = "select * from students"; try (Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(sql) ){ while (resultSet.next()) { Student student = new Student(); student.setId(resultSet.getInt("id")); student.setName(resultSet.getString("name")); student.setMark(resultSet.getInt("mark")); students.add(student); } } catch (SQLException e) { throw new RuntimeException(e); } return students; } @Override public Student getById(int id) { Student student = null; String sql = "select * from students where id = ?"; try (PreparedStatement statement = connection.prepareStatement(sql)){ statement.setInt(1, id); try (ResultSet resultSet = statement.executeQuery()){ if (resultSet.next()) { student = new Student(); student.setId(resultSet.getInt("id")); student.setName(resultSet.getString("name")); student.setMark(resultSet.getInt("mark")); } } } catch (SQLException e) { throw new RuntimeException(e); } return student; } @Override public void add(Student student) { String sql = "insert into students(id, name, mark) values(?, ?, ?)"; try (PreparedStatement statement = connection.prepareStatement(sql)){ statement.setInt(1, student.getId()); statement.setString(2, student.getName()); statement.setInt(3, student.getMark()); statement.executeUpdate(); } catch (SQLException e) { throw new RuntimeException(e); } } @Override public void update(Student student) { String sql = "update students set name = ?, mark = ? where id = ?"; try (PreparedStatement statement = connection.prepareStatement(sql)){ statement.setString(1, student.getName()); statement.setInt(2, student.getMark()); statement.setInt(3, student.getId()); statement.executeUpdate(); } catch (SQLException e) { throw new RuntimeException(e); } } @Override public void deleteById(int id) { String sql = "delete from students where id = ?"; try (PreparedStatement statement = connection.prepareStatement(sql)){ statement.setInt(1, id); statement.executeUpdate(); } catch (SQLException e) { throw new RuntimeException(e); } } @Override public void init() { System.out.println("database initializing..."); String sql = "create table students " + "(id integer not null, name varchar(255) not null, mark integer not null, primary key(id))"; try (Statement statement = connection.createStatement()) { statement.executeUpdate(sql); } catch (SQLException e) { throw new RuntimeException(e); } } }