@Override public boolean update(LinkCrawled linkCrawled) throws SQLException { Connection connection = null; PreparedStatement preparedStatement = null; final ResultSet resultSet = null; try { connection = this.daoFactory.getConnection(); final Object[] values = { linkCrawled.getLink(), linkCrawled.getPriority(), linkCrawled.getId() }; preparedStatement = DAOUtil.prepareStatement(connection, this.SQL_UPDATE, false, values); preparedStatement.executeUpdate(); return true; } catch (final SQLException e) { LOG.error("Update link_crawled_table fails, " + e.getMessage()); return false; } finally { DAOUtil.close(connection, preparedStatement, resultSet); } }
@Override public int create(LinkCrawled linkCrawled) throws SQLException { if (linkCrawled.getLink() == null) { return -1; } // If the time crawled is not specified, use the current time if (linkCrawled.getTimeCrawled() == null || linkCrawled.getDateCrawled() == null) { linkCrawled.setTimeCrawled(Helper.getCurrentTime()); linkCrawled.setDateCrawled(Helper.getCurrentDate()); } Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { connection = this.daoFactory.getConnection(); final Object[] values = { linkCrawled.getLink(), linkCrawled.get_originalLink(), linkCrawled.getPriority(), linkCrawled.getDomainTableId1(), linkCrawled.get_downloadDuration(), linkCrawled.get_extractedTime(), linkCrawled.get_httpStatusCode(), linkCrawled.get_relevance(), linkCrawled.get_distanceFromRelevantPage(), linkCrawled.get_freshness(), linkCrawled.getTimeCrawled(), linkCrawled.getDateCrawled() }; preparedStatement = DAOUtil.prepareStatement(connection, this.SQL_INSERT, true, values); preparedStatement.executeUpdate(); // Get the generated key (id) resultSet = preparedStatement.getGeneratedKeys(); int generatedKey = -1; if (resultSet.next()) { generatedKey = resultSet.getInt(1); } return generatedKey; } catch (final SQLException e) { LOG.error("Insert into link_crawled_table fails, " + e.getMessage()); return -1; } finally { DAOUtil.close(connection, preparedStatement, resultSet); } }