@Override public boolean create(User u) { Connection conn = DbUtils.getConnection(); PreparedStatement ps = null; final String query = PropertyContainer.get(Const.INSERT_USER); try { ps = conn.prepareStatement(query); int k = 1; ps.setString(k++, u.getEmail()); ps.setString(k++, u.getPassword()); ps.setString(k++, u.getFirstName()); ps.setString(k++, u.getLastName()); ps.setString(k++, u.getDocumentTag()); ps.setLong(k++, u.getRole().getId()); int count = ps.executeUpdate(); conn.commit(); if (count > 0) { // user.setId ?? rs = getGeneratedKeys... return true; } return false; } catch (SQLException e) { DbUtils.rollback(conn); LOG.error(e.getMessage()); throw new DbException(e.getMessage(), e); } finally { DbUtils.close(conn, ps, null); } }
@Override public User getUserByEmail(String email) { Connection conn = DbUtils.getConnection(); PreparedStatement ps = null; ResultSet rs = null; User user = null; final String query = PropertyContainer.get(Const.GET_USER_BY_EMAIL); try { ps = conn.prepareStatement(query); ps.setString(1, email); rs = ps.executeQuery(); if (rs.next()) { user = extractUser(rs); } } catch (SQLException e) { LOG.error(e.getMessage()); throw new DbException(e.getMessage(), e); } finally { DbUtils.close(conn, ps, rs); } return user; }