@InterfaceAudience.Public @InterfaceStability.Stable public interface DBWritable
DBWritable. DBWritable, is similar to Writable
except that the write(PreparedStatement) method takes a
PreparedStatement, and readFields(ResultSet)
takes a ResultSet.
Implementations are responsible for writing the fields of the object to PreparedStatement, and reading the fields of the object from the ResultSet.
Example:
If we have the following table in the database :CREATE TABLE MyTable ( counter INTEGER NOT NULL, timestamp BIGINT NOT NULL, );then we can read/write the tuples from/to the table with :
public class MyWritable implements Writable, DBWritable {
// Some data
private int counter;
private long timestamp;
//Writable#write() implementation
public void write(DataOutput out) throws IOException {
out.writeInt(counter);
out.writeLong(timestamp);
}
//Writable#readFields() implementation
public void readFields(DataInput in) throws IOException {
counter = in.readInt();
timestamp = in.readLong();
}
public void write(PreparedStatement statement) throws SQLException {
statement.setInt(1, counter);
statement.setLong(2, timestamp);
}
public void readFields(ResultSet resultSet) throws SQLException {
counter = resultSet.getInt(1);
timestamp = resultSet.getLong(2);
}
}
| Modifier and Type | Method and Description |
|---|---|
void |
readFields(ResultSet resultSet)
Reads the fields of the object from the
ResultSet. |
void |
write(PreparedStatement statement)
Sets the fields of the object in the
PreparedStatement. |
void write(PreparedStatement statement) throws SQLException
PreparedStatement.statement - the statement that the fields are put into.SQLExceptionvoid readFields(ResultSet resultSet) throws SQLException
ResultSet.resultSet - the ResultSet to get the fields from.SQLExceptionCopyright © 2017 Apache Software Foundation. All rights reserved.