jdbc查询结果集以ArrayList<对象>封装的,查询结果数怎么处理?
如题。没有使用框架。或者一般上方显示查询结果数,下方显示查询信息是怎么实现的?(
用集合对象的size()方法就可以获取查询结果数
结果数需要在查询一次数据库 count下数量
既然是jdbc,那就是平常的sql拼接,count(*)的sql语句放进去就行了
你可以把你的查询语句用count重新查一遍,
用list封装的,结果集就死list
ArrayList list=new ArrayList();
for(int x=0;x<10;x++){
VO vo=new VO();
//讲查询的结果封装到vo对象之中
list.add(vo);
}
//这里讲list返回即可
select count(* ) from XXXX where 你上次查的条件.
看了前面很多大佬回答,都没被采纳, 你是不是 是一个列表查询一组数据出来啊,然后 ArrayList 的形式来接收呢?
如果是这样的话 jdbc 查询完毕后得到个Cursor对象,可以根据字段id或者name 一个个遍历取出来 用实体类接收后,再添加到ArrayList里就行了
下面是我写的列表查询相关代码你参考一下,望采纳:
public List findAll() throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
Students s;
List students = new ArrayList<>();
String sql = "select * from students";
try {
conn = JDBCTools.getInstance().getConnection();
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while (rs.next()) {
s = new Students();
s.id = rs.getInt("id");
s.name = rs.getString("name");
s.age = rs.getInt("age");
s.sex = rs.getString("sex");
s.tel = rs.getString("tel");
students.add(s);
}
} catch (Exception e) {
e.printStackTrace();
throw new SQLException("查询所有数据失败");
} finally {
JDBCTools.getInstance().closeConnection(conn, ps, rs);
}
System.out.println("数据查询成功!");
return students;
}