@Override public User update(User user) throws DAOException { String KOMA = ", "; StringBuilder UPDATE_USER = new StringBuilder("UPDATE users SET firstname = ") .append("'" + user.getFirstName() + "'") .append(KOMA) .append("lastname = ") .append("'" + user.getLastName() + "'") .append(KOMA) .append("email = ") .append("'" + user.getEmail() + "'") .append(KOMA) .append("password = "******"'" + user.getPassword() + "'") .append(" WHERE id = ") .append(String.valueOf(user.getId())) .append(";"); log.entry(user); Connection connection = null; try { connection = ConnectionHolder.getConnection(); Statement statement = connection.createStatement(); statement.executeUpdate(UPDATE_USER.toString()); } catch (SQLException ex) { log.error("SQLException during answer update query", ex); throw new DAOException(ex); } log.exit(user); return user; }
@Override public List<User> getAll() throws DAOException { String ALL_USERS = "SELECT * FROM users;"; List<User> users = new ArrayList<>(); Connection connection = null; try { connection = ConnectionHolder.getConnection(); Statement statement = connection.createStatement(); ResultSet rs = statement.executeQuery(ALL_USERS); while (rs.next()) { int k = 1; int id = rs.getInt(k++); String firstName = rs.getString(k++); String lastName = rs.getString(k++); String email = rs.getString(k++); String password = rs.getString(k++); User user = new User(firstName, lastName, email, password, " "); user.setId(id); users.add(user); } } catch (SQLException ex) { log.error("SQLException during answer delete query", ex); throw new DAOException(ex); } return users; }
@Override public boolean delete(int id) throws DAOException { log.entry("Delete user from database"); String DELETE_USER = "******"; Connection connection = null; boolean result = false; try { connection = ConnectionHolder.getConnection(); PreparedStatement statement = connection.prepareStatement(DELETE_USER); statement.setInt(1, id); statement.executeUpdate(); log.trace("Delete user succsesful"); log.exit("Done delete user from database"); result = true; } catch (SQLException ex) { log.error("SQLException during answer delete query", ex); throw new DAOException(ex); } return result; }
@Override public User get(int id) throws DAOException { Connection connection = null; User user = null; try { connection = ConnectionHolder.getConnection(); PreparedStatement ps = connection.prepareStatement("SELECT * FROM users WHERE id = ?;"); ps.setInt(1, id); ResultSet rs = ps.executeQuery(); if (rs.next()) { String firstName = rs.getString(2); String lastName = rs.getString(3); String email = rs.getString(4); String password = rs.getString(5); user = new User(firstName, lastName, email, password, " "); user.setId(id); } } catch (SQLException ex) { log.error("SQLException during answer insert query", ex); throw new DAOException(ex); } return user; }
@Override public User create(User user) throws DAOException { log.entry(user); Connection connection = null; try { connection = ConnectionHolder.getConnection(); PreparedStatement statement = connection.prepareStatement(INSERT_USER, Statement.RETURN_GENERATED_KEYS); statement.setString(1, user.getFirstName()); statement.setString(2, user.getLastName()); statement.setString(3, user.getEmail()); statement.setString(4, user.getPassword()); statement.executeUpdate(); ResultSet generatedKeys = statement.getGeneratedKeys(); if (generatedKeys.next()) { user.setId(generatedKeys.getInt(1)); } } catch (SQLException ex) { log.error("SQLException during answer insert query", ex); throw new DAOException(ex); } log.exit(user); return user; }