【java】获得数据集中的总行数和总列数

简介: 需要动态获取某表,根据rs.getString(列数)。所以下面很有用。 ·                                 在Java中,获得ResultSet的总行数的方法有以下几种。

需要动态获取某表,根据rs.getString(列数)。所以下面很有用。



·                                 在Java中,获得ResultSet的总行数的方法有以下几种。

第一种:利用ResultSet的getRow方法来获得ResultSet的总行数

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 
ResultSet rset = stmt.executeQuery("select * from yourTableName"); 
rset.last(); 
int rowCount = rset.getRow(); //获得ResultSet的总行数

第二种:利用循环ResultSet的元素来获得ResultSet的总行数

ResultSet rset = stmt.executeQuery("select * from yourTableName"); 
int rowCount = 0; 
while(rset.next()) { 
   rowCount++; 
}

rowCount就是ResultSet的总行数。

第三种:利用sql语句中的count函数获得ResultSet的总行数

ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName"); 
int rowCount = 0; 
if(rset.next()) { 
   rowCount=rset .getInt("totalCount "); 
}

rowCount就是ResultSet的总行数。

· **************************************************************************************

·   Java中获得ResultSet的总列数是非常简单事情,因为Java中ResultSet提供了ResultSetMetaData工具类,ResultSetMetaData 是ResultSet的元数据的集合说明。


java获得ResultSet总列数的代码如下:

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); 
ResultSet rset = stmt.executeQuery("select * from yourtable"); 
ResultSetMetaData rsmd = rset.getMetaData() ; 
int columnCount = rsmd.getColumnCount();

columnCount 就是ResultSet的总列数。


· **************************************************************************************

转自 http://cheneyph.iteye.com/blog/477829



比如我自己写的


public List<List> findAllString() {


List<List> filds = new ArrayList<List>();

List<String> fild = null;

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

try {

conn = ConnectionSource.getConnection();

String sql = "String sqll = "select * from ( select *  from pac_material_bill_print_v where 1=1  and bill_no='0003100602-0001'  and warehouse_code='665'  and dept_code='0003'  and send_code='665'  ) where rownum < 10000";

ps = conn.prepareStatement(sql);

rs = ps.executeQuery();

ResultSetMetaData rsmd = ps.getMetaData() ; 

int columnCount = rsmd.getColumnCount(); //总列数

while (rs.next()) {

System.out.println("****************************");

fild = new ArrayList<String>();

for (int i = 1; i<= columnCount; i++) {

System.out.println(rs.getString(i));//循环获取所有列的值

fild.add(rs.getString(i));//添加到我需要的list里面。

}

filds.add(fild);

System.out.println("****************************");

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

try {

rs.close();

ps.close();

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return filds;//返回一个list到前台

}

目录
相关文章
|
1月前
|
存储 Java 数据处理
|
25天前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
20 1
|
2月前
|
存储 缓存 Java
保护隐私数据:使用Java `transient`关键字
保护隐私数据:使用Java `transient`关键字
25 0
|
3月前
|
安全 Java 容器
Dating Java8系列之用流收集数据
Dating Java8系列之用流收集数据
16 0
|
1月前
|
存储 算法 Java
Java中的集合框架:高效管理数据的关键
Java中的集合框架:高效管理数据的关键
16 0
|
1月前
|
NoSQL Java 数据库连接
使用Java实现从数据库查出数据存入Redis,并在查询时先查Redis,如果Redis中没有数据再从数据库中读取
使用Java实现从数据库查出数据存入Redis,并在查询时先查Redis,如果Redis中没有数据再从数据库中读取
267 1
|
1月前
|
存储 Java
JAVA字符串与其他类型数据的转换
JAVA字符串与其他类型数据的转换
27 4
|
25天前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
15 1
|
28天前
|
缓存 NoSQL Java
java中复杂业务情况下的集合操作(增减集合同步数据)
java中复杂业务情况下的集合操作(增减集合同步数据)
26 0
|
1月前
|
网络协议 Java
Java——UDP数据报
Java——UDP数据报
12 0