@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 © 2018 Apache Software Foundation. All rights reserved.