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

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

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

ResultSet.getMetaData介绍

[英]Gets the metadata for this ResultSet. This defines the number, types and properties of the columns in the ResultSet.
[中]获取此结果集的元数据。这定义了结果集中列的数量、类型和属性。

代码示例

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

ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
ResultSetMetaData rsmd = rs.getMetaData();
String name = rsmd.getColumnName(1);

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

Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();

int columnsNumber = rsmd.getColumnCount();

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

ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();

// The column count starts from 1
for (int i = 1; i <= columnCount; i++ ) {
 String name = rsmd.getColumnName(i);
 // Do stuff with name
}

代码示例来源: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: apache/kylin

@Test
public void testPreparedStatementWithMockData() throws SQLException {
  Driver driver = new DummyDriver();
  Connection conn = driver.connect("jdbc:kylin://test_url/test_db", null);
  PreparedStatement state = conn.prepareStatement("select * from test_table where id=?");
  state.setInt(1, 10);
  ResultSet resultSet = state.executeQuery();
  ResultSetMetaData metadata = resultSet.getMetaData();
  assertEquals(12, metadata.getColumnType(1));
  assertEquals("varchar", metadata.getColumnTypeName(1));
  assertEquals(1, metadata.isNullable(1));
  while (resultSet.next()) {
    assertEquals("foo", resultSet.getString(1));
    assertEquals("bar", resultSet.getString(2));
    assertEquals("tool", resultSet.getString(3));
  }
  resultSet.close();
  state.close();
  conn.close();
}

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

private void assertSetNull(int sqlType, int expectedSqlType)
    throws SQLException
{
  try (Connection connection = createConnection();
      PreparedStatement statement = connection.prepareStatement("SELECT ?")) {
    statement.setNull(1, sqlType);
    try (ResultSet rs = statement.executeQuery()) {
      assertTrue(rs.next());
      assertNull(rs.getObject(1));
      assertTrue(rs.wasNull());
      assertFalse(rs.next());
      assertEquals(rs.getMetaData().getColumnType(1), expectedSqlType);
    }
  }
}

代码示例来源:origin: looly/hutool

@Override
  public E handle(ResultSet rs) throws SQLException {
    final ResultSetMetaData  meta = rs.getMetaData();
    final int columnCount = meta.getColumnCount();
    return rs.next() ? HandleHelper.handleRow(columnCount, meta, rs, this.elementBeanType) : null;
  }
}

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

@Test
public void testQueryForObjectWithMapAndInteger() throws Exception {
  given(resultSet.getMetaData()).willReturn(resultSetMetaData);
  given(resultSet.next()).willReturn(true, false);
  given(resultSet.getInt(1)).willReturn(22);
  Map<String, Object> params = new HashMap<>();
  params.put("id", 3);
  Object o = template.queryForObject("SELECT AGE FROM CUSTMR WHERE ID = :id",
      params, Integer.class);
  assertTrue("Correct result type", o instanceof Integer);
  verify(connection).prepareStatement("SELECT AGE FROM CUSTMR WHERE ID = ?");
  verify(preparedStatement).setObject(1, 3);
}

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

@ExpectWarning("SQL")
public void test0noloop(ResultSet rs) throws SQLException {
  ResultSetMetaData rsmd = rs.getMetaData();
  int numCols = rsmd.getColumnCount();
  if (numCols > 0) {
    String s = rs.getString(0); // error: first column is 1
    System.out.println(s);
  }
}

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

this.resultSet = resultSet;
try {
  this.rowSetMetaData = new ResultSetWrappingSqlRowSetMetaData(resultSet.getMetaData());
  ResultSetMetaData rsmd = resultSet.getMetaData();
  if (rsmd != null) {
    int columnCount = rsmd.getColumnCount();
    this.columnLabelMap = new HashMap<>(columnCount);
    for (int i = 1; i <= columnCount; i++) {
      String key = rsmd.getColumnLabel(i);

代码示例来源:origin: nutzam/nutz

public void onAfter(Connection conn, ResultSet rs, Statement stmt) throws SQLException {
  if (rs != null && rs.next()) {
    String colName = rs.getMetaData().getColumnName(1);
    Object obj = entityField.getAdaptor().get(rs, colName);
    entityField.setValue(this.getOperatingObject(), obj);
  }
}

代码示例来源: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: apache/kylin

private void printResultSetMetaData(ResultSet rs) throws SQLException {
    ResultSetMetaData metadata = rs.getMetaData();
    System.out.println("Metadata:");

    for (int i = 0; i < metadata.getColumnCount(); i++) {
      String metaStr = metadata.getCatalogName(i + 1) + " " + metadata.getColumnClassName(i + 1) + " "
          + metadata.getColumnDisplaySize(i + 1) + " " + metadata.getColumnLabel(i + 1) + " "
          + metadata.getColumnName(i + 1) + " " + metadata.getColumnType(i + 1) + " "
          + metadata.getColumnTypeName(i + 1) + " " + metadata.getPrecision(i + 1) + " "
          + metadata.getScale(i + 1) + " " + metadata.getSchemaName(i + 1) + " "
          + metadata.getTableName(i + 1);
      System.out.println(metaStr);
    }
  }
}

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

public static List<Map<String,?>> extractResults(ResultSet resultSet) throws SQLException {
    List<Map<String,?>> results = new ArrayList<Map<String, ?>>();

    while ( resultSet.next() ) {
      Map<String,Object> row = new HashMap<String, Object>();
      for ( int i = 1; i <= resultSet.getMetaData().getColumnCount(); i++ ) {
        row.put(
            resultSet.getMetaData().getColumnLabel( i ),
            resultSet.getObject( i )
        );
        results.add( row );
      }
    }

    return results;
  }
}

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

@Test
public void testMultipathOfDomainForConnection() throws SQLException {
  Driver driver = new DummyDriver();
  Connection conn = driver.connect("jdbc:kylin://test_url/kylin/test_db/", null);
  Statement state = conn.createStatement();
  ResultSet resultSet = state.executeQuery("select * from test_table where url not in ('http://a.b.com/?a=b') limit 1");
  ResultSetMetaData metadata = resultSet.getMetaData();
  assertEquals(12, metadata.getColumnType(1));
  assertEquals("varchar", metadata.getColumnTypeName(1));
  assertEquals(1, metadata.isNullable(1));
  while (resultSet.next()) {
    assertEquals("foo", resultSet.getString(1));
    assertEquals("bar", resultSet.getString(2));
    assertEquals("tool", resultSet.getString(3));
  }
  resultSet.close();
  state.close();
  conn.close();
}

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

private void assertParameter(Object expectedValue, int expectedSqlType, Binder binder)
    throws SQLException
{
  try (Connection connection = createConnection();
      PreparedStatement statement = connection.prepareStatement("SELECT ?")) {
    binder.bind(statement, 1);
    try (ResultSet rs = statement.executeQuery()) {
      assertTrue(rs.next());
      assertEquals(expectedValue, rs.getObject(1));
      assertFalse(rs.next());
      assertEquals(rs.getMetaData().getColumnType(1), expectedSqlType);
    }
  }
}

代码示例来源:origin: looly/hutool

@Override
  public Entity handle(ResultSet rs) throws SQLException {
    final ResultSetMetaData  meta = rs.getMetaData();
    final int columnCount = meta.getColumnCount();
    
    return rs.next() ? HandleHelper.handleRow(columnCount, meta, rs) : null;
  }
}

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

@Test
public void testQueryForIntWithParamMap() throws Exception {
  given(resultSet.getMetaData()).willReturn(resultSetMetaData);
  given(resultSet.next()).willReturn(true, false);
  given(resultSet.getInt(1)).willReturn(22);
  MapSqlParameterSource params = new MapSqlParameterSource();
  params.addValue("id", 3);
  int i = template.queryForObject("SELECT AGE FROM CUSTMR WHERE ID = :id", params, Integer.class).intValue();
  assertEquals("Return of an int", 22, i);
  verify(connection).prepareStatement("SELECT AGE FROM CUSTMR WHERE ID = ?");
  verify(preparedStatement).setObject(1, 3);
}

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

@ExpectWarning("SQL")
public void test0(ResultSet rs) throws SQLException {
  ResultSetMetaData rsmd = rs.getMetaData();
  int numCols = rsmd.getColumnCount();
  for (int i = 0; i < numCols; i++) {
    System.out.print("i = [" + i + "]  ");
    String s = rs.getString(i);
    System.out.println(s);
  }
}

代码示例来源:origin: SonarSource/sonarqube

private Set<String> getColumnNames(ResultSet res) {
 try {
  Set<String> columnNames = new HashSet<>();
  ResultSetMetaData meta = res.getMetaData();
  int numCol = meta.getColumnCount();
  for (int i = 1; i < numCol + 1; i++) {
   columnNames.add(meta.getColumnLabel(i).toLowerCase());
  }
  return columnNames;
 } catch (Exception e) {
  throw new IllegalStateException("Fail to get column names");
 }
}

相关文章

微信公众号

最新文章

更多

ResultSet类方法