java.sql.ResultSet.getObject()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(10.6k)|赞(0)|评价(0)|浏览(1553)

本文整理了Java中java.sql.ResultSet.getObject方法的一些代码示例,展示了ResultSet.getObject的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ResultSet.getObject方法的具体详情如下:
包路径:java.sql.ResultSet
类名称:ResultSet
方法名:getObject

ResultSet.getObject介绍

[英]Gets the value of a specified column as a Java Object. The type of the returned object will be the default according to the column's SQL type, following the JDBC specification for built-in types.

For SQL User Defined Types, if a column value is Structured or Distinct, this method behaves the same as a call to: getObject(columnIndex,this.getStatement().getConnection().getTypeMap())
[中]获取作为Java对象的指定列的值。根据列的SQL类型,返回对象的类型将是默认类型,遵循内置类型的JDBC规范。
对于SQL用户定义的类型,如果列值是结构化的或不同的,则此方法的行为与调用:getObject(columnIndex,this.getStatement())的行为相同。getConnection()。getTypeMap())

代码示例

代码示例来源:origin: apache/incubator-shardingsphere

private Iterator<QueryRow> getResultData(final ResultSet resultSet) throws SQLException {
  Collection<QueryRow> result = new LinkedList<>();
  while (resultSet.next()) {
    List<Object> rowData = new ArrayList<>(columnLabelAndIndexMap.size());
    for (int columnIndex = 1; columnIndex <= resultSet.getMetaData().getColumnCount(); columnIndex++) {
      rowData.add(resultSet.getObject(columnIndex));
    }
    result.add(new QueryRow(rowData));
  }
  return result.iterator();
}

代码示例来源:origin: baomidou/mybatis-plus

@Override
public E getNullableResult(ResultSet rs, String columnName) throws SQLException {
  if (null == rs.getString(columnName) && rs.wasNull()) {
    return null;
  }
  return EnumUtils.valueOf(type, rs.getObject(columnName));
}

代码示例来源:origin: apache/kylin

public List<String> getHiveDbNames() throws Exception {
  List<String> ret = Lists.newArrayList();
  ResultSet schemas = metaData.getSchemas();
  while (schemas.next()) {
    ret.add(String.valueOf(schemas.getObject(1)));
  }
  DBUtils.closeQuietly(schemas);
  return ret;
}

代码示例来源:origin: jfinal/jfinal

/**
 * 用于获取 Db.save(tableName, record) 以后自动生成的主键值,可通过覆盖此方法实现更精细的控制
 * 目前只有 PostgreSqlDialect,覆盖过此方法
 */
public void getRecordGeneratedKey(PreparedStatement pst, Record record, String[] pKeys) throws SQLException {
  ResultSet rs = pst.getGeneratedKeys();
  for (String pKey : pKeys) {
    if (record.get(pKey) == null || isOracle()) {
      if (rs.next()) {
        record.set(pKey, rs.getObject(1));	// It returns Long for int colType for mysql
      }
    }
  }
  rs.close();
}

代码示例来源:origin: hibernate/hibernate-orm

pstmt = cn.prepareStatement( "select id, geom from geomtest where type = ? order by id" );
pstmt.setString( 1, type );
results = pstmt.executeQuery();
while ( results.next() ) {
  Integer id = results.getInt( 1 );
  Object obj = results.getObject( 2 );
  map.put( id, obj );
try {
  if ( results != null ) {
    results.close();

代码示例来源:origin: stanfordnlp/CoreNLP

while(rs.next()){
 String sentid = rs.getString(1);
 byte[] st = (byte[]) rs.getObject(2);
 ByteArrayInputStream baip = new ByteArrayInputStream(st);
 ObjectInputStream ois = new ObjectInputStream(baip);

代码示例来源:origin: apache/ignite

@Override public void run(Connection conn) throws Exception {
    try (PreparedStatement stmt = conn.prepareStatement("SELECT 'zzz'")) {
      ResultSet rs = stmt.executeQuery();
      rs.next();
      rs.getObject(1, List.class);
    }
  }
}, "0700B", "Cannot convert to");

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testQueryForListWithParamMap() throws Exception {
  given(resultSet.getMetaData()).willReturn(resultSetMetaData);
  given(resultSet.next()).willReturn(true, true, false);
  given(resultSet.getObject(1)).willReturn(11, 12);
  MapSqlParameterSource params = new MapSqlParameterSource();
  params.addValue("id", 3);
  List<Map<String, Object>> li = template.queryForList(
      "SELECT AGE FROM CUSTMR WHERE ID < :id", params);
  assertEquals("All rows returned", 2, li.size());
  assertEquals("First row is Integer", 11,
      ((Integer) li.get(0).get("age")).intValue());
  assertEquals("Second row is Integer", 12,
      ((Integer) li.get(1).get("age")).intValue());
  verify(connection).prepareStatement("SELECT AGE FROM CUSTMR WHERE ID < ?");
  verify(preparedStatement).setObject(1, 3);
}

代码示例来源:origin: spring-projects/spring-framework

@Test(expected = TypeMismatchDataAccessException.class)  // SPR-16483
public void doesNotUseConversionService() throws SQLException {
  SingleColumnRowMapper<LocalDateTime> rowMapper =
      SingleColumnRowMapper.newInstance(LocalDateTime.class, null);
  ResultSet resultSet = mock(ResultSet.class);
  ResultSetMetaData metaData = mock(ResultSetMetaData.class);
  given(metaData.getColumnCount()).willReturn(1);
  given(resultSet.getMetaData()).willReturn(metaData);
  given(resultSet.getObject(1, LocalDateTime.class))
      .willThrow(new SQLFeatureNotSupportedException());
  given(resultSet.getTimestamp(1)).willReturn(new Timestamp(0));
  rowMapper.mapRow(resultSet, 1);
}

代码示例来源:origin: prestodb/presto

private static void assertColumnSpec(ResultSet rs, int jdbcType, Long columnSize, Long numPrecRadix, Long decimalDigits, Long charOctetLength, Type type)
    throws SQLException
{
  String message = " of " + type.getDisplayName() + ": ";
  assertTrue(rs.next());
  assertEquals(rs.getObject("DATA_TYPE"), (long) jdbcType, "DATA_TYPE" + message);
  assertEquals(rs.getObject("COLUMN_SIZE"), columnSize, "COLUMN_SIZE" + message);
  assertEquals(rs.getObject("NUM_PREC_RADIX"), numPrecRadix, "NUM_PREC_RADIX" + message);
  assertEquals(rs.getObject("DECIMAL_DIGITS"), decimalDigits, "DECIMAL_DIGITS" + message);
  assertEquals(rs.getObject("CHAR_OCTET_LENGTH"), charOctetLength, "CHAR_OCTET_LENGTH" + message);
}

代码示例来源:origin: shuzheng/zheng

public List<Map> selectByParams(String sql, List params) throws SQLException {
  List<Map> list = new ArrayList<> ();
  int index = 1;
  pstmt = conn.prepareStatement(sql);
  if (null != params && !params.isEmpty()) {
    for (int i = 0; i < params.size(); i ++) {
      pstmt.setObject(index++, params.get(i));
    }
  }
  rs = pstmt.executeQuery();
  ResultSetMetaData metaData = rs.getMetaData();
  int colsLen = metaData.getColumnCount();
  while (rs.next()) {
    Map map = new HashMap(colsLen);
    for (int i = 0; i < colsLen; i ++) {
      String columnName = metaData.getColumnName(i + 1);
      Object columnValue = rs.getObject(columnName);
      if (null == columnValue) {
        columnValue = "";
      }
      map.put(columnName, columnValue);
    }
    list.add(map);
  }
  return list;
}

代码示例来源:origin: apache/kylin

public List<String> getHiveTableNames(String database) throws Exception {
  List<String> ret = Lists.newArrayList();
  ResultSet tables = metaData.getTables(null, database, null, null);
  while (tables.next()) {
    ret.add(String.valueOf(tables.getObject(3)));
  }
  DBUtils.closeQuietly(tables);
  return ret;
}

代码示例来源:origin: jfinal/jfinal

/**
   * 解决 PostgreSql 获取自增主键时 rs.getObject(1) 总是返回第一个字段的值,而非返回了 id 值
   * issue: https://www.oschina.net/question/2312705_2243354
   * 
   * 相对于 Dialect 中的默认实现,仅将 rs.getXxx(1) 改成了 rs.getXxx(pKey)
   */
  public void getRecordGeneratedKey(PreparedStatement pst, Record record, String[] pKeys) throws SQLException {
    ResultSet rs = pst.getGeneratedKeys();
    for (String pKey : pKeys) {
      if (record.get(pKey) == null || isOracle()) {
        if (rs.next()) {
          record.set(pKey, rs.getObject(pKey));
        }
      }
    }
    rs.close();
  }
}

代码示例来源:origin: hibernate/hibernate-orm

LOG.info( "Native SQL is: " + nativeSQLStatement.toString() );
results = preparedStatement.executeQuery();
while ( results.next() ) {
  int id = results.getInt( 1 );
  switch ( type ) {
    case GEOMETRY:
      expected.put( id, (T) decode( results.getObject( 2 ) ) );
      break;
    case STRING:
      expected.put( id, (T) results.getString( 2 ) );
      break;
    case INTEGER:
      break;
    default:
      T val = (T) results.getObject( 2 );
if ( results != null ) {
  try {
    results.close();

代码示例来源:origin: alibaba/druid

try {
  rs = stmt.executeQuery("show variables");
  while (rs.next()) {
    String name = rs.getString(1);
    Object value = rs.getObject(2);
    variables.put(name, value);
try {
  rs = stmt.executeQuery("show global variables");
  while (rs.next()) {
    String name = rs.getString(1);
    Object value = rs.getObject(2);
    globalVariables.put(name, value);

代码示例来源:origin: prestodb/presto

@Test
public void testBuildSqlWithFloat()
    throws SQLException
{
  TupleDomain<ColumnHandle> tupleDomain = TupleDomain.withColumnDomains(ImmutableMap.of(
      columns.get(10), Domain.create(SortedRangeSet.copyOf(REAL,
          ImmutableList.of(
              Range.equal(REAL, (long) floatToRawIntBits(100.0f + 0)),
              Range.equal(REAL, (long) floatToRawIntBits(100.008f + 0)),
              Range.equal(REAL, (long) floatToRawIntBits(100.0f + 14)))),
          false)));
  Connection connection = database.getConnection();
  try (PreparedStatement preparedStatement = new QueryBuilder("\"").buildSql(jdbcClient, connection, "", "", "test_table", columns, tupleDomain, Optional.empty());
      ResultSet resultSet = preparedStatement.executeQuery()) {
    ImmutableSet.Builder<Long> longBuilder = ImmutableSet.builder();
    ImmutableSet.Builder<Float> floatBuilder = ImmutableSet.builder();
    while (resultSet.next()) {
      longBuilder.add((Long) resultSet.getObject("col_0"));
      floatBuilder.add((Float) resultSet.getObject("col_10"));
    }
    assertEquals(longBuilder.build(), ImmutableSet.of(0L, 14L));
    assertEquals(floatBuilder.build(), ImmutableSet.of(100.0f, 114.0f));
  }
}

代码示例来源:origin: baomidou/mybatis-plus

@Override
public E getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
  if (null == rs.getString(columnIndex) && rs.wasNull()) {
    return null;
  }
  return EnumUtils.valueOf(type, rs.getObject(columnIndex));
}

代码示例来源:origin: spring-projects/spring-framework

@Test
public void testQueryForMapWithParamMapAndSingleRowAndColumn() throws Exception {
  given(resultSet.getMetaData()).willReturn(resultSetMetaData);
  given(resultSet.next()).willReturn(true, false);
  given(resultSet.getObject(1)).willReturn(11);
  MapSqlParameterSource params = new MapSqlParameterSource();
  params.addValue("id", 3);
  Map<String, Object> map = template.queryForMap("SELECT AGE FROM CUSTMR WHERE ID < :id", params);
  assertEquals("Row is Integer", 11, ((Integer) map.get("age")).intValue());
  verify(connection).prepareStatement("SELECT AGE FROM CUSTMR WHERE ID < ?");
  verify(preparedStatement).setObject(1, 3);
}

代码示例来源:origin: spring-projects/spring-framework

@Test  // SPR-16483
public void useDefaultConversionService() throws SQLException {
  Timestamp timestamp = new Timestamp(0);
  SingleColumnRowMapper<LocalDateTime> rowMapper = SingleColumnRowMapper.newInstance(LocalDateTime.class);
  ResultSet resultSet = mock(ResultSet.class);
  ResultSetMetaData metaData = mock(ResultSetMetaData.class);
  given(metaData.getColumnCount()).willReturn(1);
  given(resultSet.getMetaData()).willReturn(metaData);
  given(resultSet.getObject(1, LocalDateTime.class))
      .willThrow(new SQLFeatureNotSupportedException());
  given(resultSet.getTimestamp(1)).willReturn(timestamp);
  LocalDateTime actualLocalDateTime = rowMapper.mapRow(resultSet, 1);
  assertEquals(timestamp.toLocalDateTime(), actualLocalDateTime);
}

代码示例来源:origin: stackoverflow.com

public List resultSetToArrayList(ResultSet rs) throws SQLException{
 ResultSetMetaData md = rs.getMetaData();
 int columns = md.getColumnCount();
 ArrayList list = new ArrayList(50);
 while (rs.next()){
   HashMap row = new HashMap(columns);
   for(int i=1; i<=columns; ++i){           
   row.put(md.getColumnName(i),rs.getObject(i));
   }
   list.add(row);
 }

 return list;
}

相关文章

微信公众号

最新文章

更多

ResultSet类方法