ResultSet如何动态获取列名和值

作者:Maori1202 时间:2022-01-16 15:54:01 

ResultSet 动态获取列名和值

仅供自己方便查阅,无其他用途

ResultSet result = null; //前边SQL查询结果,这里暂写NULL,后期自己替换
ResultSetMetaData metaData = result.getMetaData();  //获取列集
int columnCount = metaData.getColumnCount(); //获取列的数量
for (int i = 0; i < columnCount; i++) { //循环列
String columnName = metaData.getColumnName(i+1); //通过序号获取列名,起始值为1
String columnValue = result.getString(columnName);  //通过列名获取值.如果列值为空,columnValue为null,不是字符型
}

Java通过ResultSet获取列字段等信息

ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData data = rs.getMetaData();
for (int i = 1; i <= data.getColumnCount(); i++) {
// 获得所有列的数目及实际列数
int columnCount = data.getColumnCount();
// 获得指定列的列名
String columnName = data.getColumnName(i);
// 获得指定列的列值
int columnType = data.getColumnType(i);
// 获得指定列的数据类型名
String columnTypeName = data.getColumnTypeName(i);
// 所在的Catalog名字
String catalogName = data.getCatalogName(i);
// 对应数据类型的类
String columnClassName = data.getColumnClassName(i);
// 在数据库中类型的最大字符个数
int columnDisplaySize = data.getColumnDisplaySize(i);
// 默认的列的标题
String columnLabel = data.getColumnLabel(i);
// 获得列的模式
String schemaName = data.getSchemaName(i);
// 某列类型的精确度(类型的长度)
int precision = data.getPrecision(i);
// 小数点后的位数
int scale = data.getScale(i);
// 获取某列对应的表名
String tableName = data.getTableName(i);
// 是否自动递增
boolean isAutoInctement = data.isAutoIncrement(i);
// 在数据库中是否为货币型
boolean isCurrency = data.isCurrency(i);
// 是否为空
int isNullable = data.isNullable(i);
// 是否为只读
boolean isReadOnly = data.isReadOnly(i);
// 能否出现在where中
boolean isSearchable = data.isSearchable(i);

来源:https://blog.csdn.net/qq_42680968/article/details/97646563

标签:ResultSet,动态获取,列名值
0
投稿

猜你喜欢

  • java 读取excel文件转换成json格式的实例代码

    2023-09-11 13:07:28
  • springcloud LogBack日志使用详解

    2021-12-23 15:17:05
  • MyBatis中映射文件的使用案例代码

    2021-09-02 23:55:41
  • C#调用JS的几种方法

    2022-09-29 23:24:18
  • java 线程锁详细介绍及实例代码

    2022-03-16 13:50:45
  • Java的System.getProperty()方法获取大全

    2023-11-10 20:12:12
  • Springboot与vue实现文件导入方法具体介绍

    2023-10-31 12:31:37
  • Linux下动静态库的打包与使用指南(C/C++)

    2023-06-21 20:22:11
  • 基于Transactional事务的使用以及注意说明

    2022-02-24 12:23:08
  • 老生常谈Java中List与ArrayList的区别

    2023-03-26 19:52:33
  • java调用Restful接口的三种方法

    2021-09-07 16:49:04
  • 深入解析Java并发程序中线程的同步与线程锁的使用

    2022-03-19 10:25:38
  • RocketMQ生产者一个应用不能发送多个NameServer消息解决

    2022-05-18 15:56:11
  • Java中List常用操作比for循环更优雅的写法示例

    2023-08-08 23:25:14
  • SpringBoot实现动态定时任务的示例代码

    2022-06-22 19:27:39
  • spring mvc4的日期/数字格式化、枚举转换示例

    2021-11-07 09:49:11
  • 一种类似JAVA线程池的C++线程池实现方法

    2021-11-02 21:31:52
  • 详解spring mvc中url-pattern的写法

    2023-11-11 07:30:58
  • Java实现发送手机短信语音验证功能代码实例

    2023-04-04 19:03:31
  • Java编程调用微信接口实现图文信息推送功能

    2023-11-25 07:20:47
  • asp之家 软件编程 m.aspxhome.com