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,动态获取,列名值
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
java 读取excel文件转换成json格式的实例代码
2023-09-11 13:07:28
springcloud LogBack日志使用详解
2021-12-23 15:17:05
![](https://img.aspxhome.com/file/2023/4/63764_0s.png)
MyBatis中映射文件的使用案例代码
2021-09-02 23:55:41
![](https://img.aspxhome.com/file/2023/0/60910_0s.png)
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
![](https://img.aspxhome.com/file/2023/8/58738_0s.png)
Linux下动静态库的打包与使用指南(C/C++)
2023-06-21 20:22:11
![](https://img.aspxhome.com/file/2023/8/68778_0s.png)
基于Transactional事务的使用以及注意说明
2022-02-24 12:23:08
老生常谈Java中List与ArrayList的区别
2023-03-26 19:52:33
![](https://img.aspxhome.com/file/2023/6/60916_0s.png)
java调用Restful接口的三种方法
2021-09-07 16:49:04
深入解析Java并发程序中线程的同步与线程锁的使用
2022-03-19 10:25:38
![](https://img.aspxhome.com/file/2023/1/65621_0s.jpg)
RocketMQ生产者一个应用不能发送多个NameServer消息解决
2022-05-18 15:56:11
![](https://img.aspxhome.com/file/2023/7/69687_0s.png)
Java中List常用操作比for循环更优雅的写法示例
2023-08-08 23:25:14
SpringBoot实现动态定时任务的示例代码
2022-06-22 19:27:39
spring mvc4的日期/数字格式化、枚举转换示例
2021-11-07 09:49:11
![](https://img.aspxhome.com/file/2023/0/60840_0s.jpg)
一种类似JAVA线程池的C++线程池实现方法
2021-11-02 21:31:52
![](https://img.aspxhome.com/file/2023/7/79917_0s.png)
详解spring mvc中url-pattern的写法
2023-11-11 07:30:58
Java实现发送手机短信语音验证功能代码实例
2023-04-04 19:03:31
Java编程调用微信接口实现图文信息推送功能
2023-11-25 07:20:47