@Override public int find(String typeFeed) { int id = 0; try { Connection cn = null; try { JdbcConnection connection = JdbcConnection.getInstance(); cn = connection.getConnection(); PreparedStatement st = null; try { st = cn.prepareStatement("SELECT * FROM feed WHERE typeFeed = ?"); st.setString(1, typeFeed); ResultSet rs = null; try { rs = st.executeQuery(); if (rs.next()) { id = rs.getInt(1); } } finally { if (rs != null) rs.close(); rs = null; } } finally { if (st != null) st.close(); st = null; } } finally { if (cn != null) cn.close(); cn = null; } } catch (SQLException e) { e.printStackTrace(); } return id; }
@Override public void update(int id, Feed feed) { try { Connection cn = null; try { JdbcConnection connection = JdbcConnection.getInstance(); cn = connection.getConnection(); PreparedStatement st = null; try { st = cn.prepareStatement("UPDATE feed SET (typeFeed = ?, valueFeed = ?) WHERE idFeed = ?"); st.setString(1, feed.name()); st.setString(2, feed.getValueFeed()); st.setInt(3, id); st.executeUpdate(); } finally { if (st != null) st.close(); st = null; } } finally { if (cn != null) cn.close(); cn = null; } } catch (SQLException e) { e.printStackTrace(); } }
/** {@inheritDoc} */ @Override public ResultSet executeQuery(String sql) throws SQLException { ensureNotClosed(); rs = null; if (sql == null || sql.isEmpty()) throw new SQLException("SQL query is empty"); try { byte[] packet = conn.client() .compute() .execute( TASK_NAME, JdbcUtils.marshalArgument( JdbcUtils.taskArgument( conn.nodeId(), conn.cacheName(), sql, timeout, args, fetchSize, maxRows))); byte status = packet[0]; byte[] data = new byte[packet.length - 1]; U.arrayCopy(packet, 1, data, 0, data.length); if (status == 1) throw JdbcUtils.unmarshalError(data); else { List<?> msg = JdbcUtils.unmarshal(data); assert msg.size() == 7; UUID nodeId = (UUID) msg.get(0); UUID futId = (UUID) msg.get(1); List<String> tbls = (List<String>) msg.get(2); List<String> cols = (List<String>) msg.get(3); List<String> types = (List<String>) msg.get(4); Collection<List<Object>> fields = (Collection<List<Object>>) msg.get(5); boolean finished = (Boolean) msg.get(6); return new JdbcResultSet( this, nodeId, futId, tbls, cols, types, fields, finished, fetchSize); } } catch (GridClientException e) { throw new SQLException("Failed to query Ignite.", e); } }
@Override public void create(Feed feed) { try { Connection cn = null; try { cn = JdbcConnection.getInstance().getConnection(); PreparedStatement st = null; try { st = cn.prepareStatement( "INSERT INTO feed (typeFeed, valueFeed) values (?, ?)", Statement.RETURN_GENERATED_KEYS); st.setString(1, feed.name()); st.setString(2, feed.getValueFeed()); st.executeUpdate(); } finally { if (st != null) st.close(); st = null; } } finally { if (cn != null) cn.close(); cn = null; } } catch (SQLException e) { e.printStackTrace(); } }
@Override public List<Feed> findAll() { List<Feed> feeds = new ArrayList<Feed>(); try { Connection cn = null; try { cn = JdbcConnection.getInstance().getConnection(); Statement st = null; try { st = cn.createStatement(); ResultSet rs = null; try { rs = st.executeQuery("SELECT * FROM feed "); while (rs.next()) { feeds.add(Feed.valueOf(rs.getString(2))); } } finally { if (rs != null) rs.close(); rs = null; } } finally { if (st != null) st.close(); st = null; } } finally { if (cn != null) cn.close(); cn = null; } } catch (SQLException e) { e.printStackTrace(); } return feeds; }
@Override public void delete(int id) { try { Connection cn = null; try { cn = JdbcConnection.getInstance().getConnection(); PreparedStatement st = null; try { st = cn.prepareStatement("DELETE FROM feed WHERE idFeed = ?"); st.setInt(1, id); st.executeUpdate(); } finally { if (st != null) st.close(); st = null; } } finally { if (cn != null) cn.close(); cn = null; } } catch (SQLException e) { e.printStackTrace(); } }