Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private Optional<Order> DeleteFindById(Long Id, String query) {
- try (Connection conn = DataSourceProvider.getDataSource().getConnection();
- PreparedStatement ps = conn.prepareStatement(query)) {
- ps.setLong(1, Id);
- if (!query.contains("DELETE")) {
- return findOrderById(ps);
- } else {
- ps.executeUpdate();
- }
- } catch (SQLException e) {
- throw new RuntimeException("Sql clause caused error" + e);
- }
- return Optional.empty();
- }
- /**
- * helper method to find order by id
- *
- * @param ps PrepareStatement
- * @return found order
- * @throws SQLException
- */
- private Optional<Order> findOrderById(PreparedStatement ps) throws SQLException {
- try (ResultSet resultSet = ps.executeQuery()) {
- Order order = new Order();
- List<OrderRows> orderRows = new ArrayList<>();
- while (resultSet.next()) {
- order.setId(resultSet.getLong(1));
- order.setOrderNumber(resultSet.getString(2));
- orderRows.add(getOrderRow(resultSet));
- }
- order.setOrderRows(orderRows);
- return Optional.of(order);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement