8 Nisan 2019 Pazartesi

ResultSet Arayüzü Sütun İsmi İle Getter Metodları

getDate metodu
java.sql.Date sınıfını (yani sadece gün bilgisini) döndürür.

getInt metodu
Şöyle yaparız.
int r = rs.getInt ("column1");
getLong metodu
Şöyle yaparız.
long r = rs.getLong ("column1");
getObject metodu
Metodun içi şuna benzer.
public Object getObject(String columnLabel) throws SQLException {
  return getObject(getIndexByLabel(columnLabel));
}

private int getIndexByLabel(String columnLabel) {
  Map<String, Integer> indexMap = createOrGetIndexMap();
  Integer columnIndex = indexMap.get(columnLabel.toLowerCase());
  if (columnIndex == null) {
    throw new SQLException("Column label " + columnLabel + " does not exist");
  }
  return columnIndex;
}

private Map<String, Integer> createOrGetIndexMap() throws SQLException {
  if (this.indexMap != null) {
    return this.indexMap;
  }
  ResultSetMetaData rsmd = getMetaData();
  Map<String, Integer> map = new HashMap<>(rsmd.getColumnCount());
  // reverse loop to ensure first occurrence of a column label is retained
  for (int idx = rsmd.getColumnCount(); idx > 0; idx--) {
    String label = rsmd.getColumnLabel(idx).toLowerCase();
    map.put(label, idx);
  }
  return this.indexMap = map;
}
Örnek
Şöyle yaparız. PostgreSQL JDBS sürücüsü Java 8 Date ve Time sınıflarını destekler.
Instant instant = myResultSet.getObject(  , Instant.class) ;
getString metodu
İsmi belirtilen sütunun değerini string olarak verir.
resultSet.getString ("column1");
getTime metodu
java.sql.Time  sınıfını (yani sadece saat bilgisini) döndürür

getTimeStamp metodu
java.sql.Timestamp sınıfını (yani gün ve saat bilgisini) döndürür. UTC olarak geri okumak için aşağıdaki gibi yapılabilir.
Calendar utcCal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
while(rs.next())
    rs.getTimestamp("utctime",utcCal);

Hiç yorum yok:

Yorum Gönder