Java中如何检查对象结果大于0

Java中如何检查对象结果大于0,java,jdbc,Java,Jdbc,我有以下代码从数据库获取并返回记录计数,并将其分配到对象中 rs = stmt.executeQuery( "SELECT COUNT(*) FROM TEST" ); 我有以下代码来检查是否找到记录: if (rs.next() && rs.getString( 1 ).equals( "1" )) { logger.info( "DID Find Records !!! " ); } else { logger.info( "

我有以下代码从数据库获取并返回记录计数,并将其分配到对象中

rs = stmt.executeQuery( "SELECT COUNT(*) FROM TEST" );
我有以下代码来检查是否找到记录:

    if (rs.next() && rs.getString( 1 ).equals( "1" )) {
        logger.info( "DID Find Records !!! " );
    } else {
        logger.info( "DID NOT Find Records !!! " );
    }

在这种情况下,如何检查返回记录是否大于0?

您需要使用别名,然后从
rs
提取返回的
计数作为整数,只需将代码更改为:

  rs = stmt.executeQuery( "SELECT COUNT(*) FROM TEST AS TESTCOUNT" );
  rs.next();
  if (rs.getInt("TESTCOUNT") > 0) {
    logger.info( "DID Find Records !!! " );
  } else {
    logger.info( "DID NOT Find Records !!! " );
  }
其中,
'TESTCOUNT'
是给定的别名。

rs.getString(1)
包含来自数据库的行计数值。只需将其解析为整数,即行数

 if (rs!=null && rs.next()) {
        logger.info( "DID Find Records !!! " );
        logger.info( "RowCount "+ Integer.valueOf(rs.getString( 1 )));
    } else {
        logger.info( "DID NOT Find Records !!! " );
    }

将其设置为int变量并进行检查

ResultSet rs = .....;

int count = -1;

if (rs.next())
    count = rs.getInt(1);

if (count <= 0)
{
    logger.info("no records");
}
else if (count == 1)
{
    logger.info("found 1 record");
}
else
{
    logger.info("found more...");
}bb
ResultSet rs=。。。。。;
整数计数=-1;
如果(rs.next())
计数=rs.getInt(1);
如果(计数更换

if(rs.next()&&rs.getString(1).equals(“1”))


if(rs.next()&&rs.getInt(1)>0))

为什么不做
if(rs.next()&&rs.getInt(1)>0))
而不是
if(rs.next()&&rs.getString(1).equals(“1”)
?还是我误解了你的问题?看起来就像是
如果(rs.next())
没问题。请参阅:您的代码缺失
rs.next()
。结果集最初定位在第一行之前,而不是第一行。不需要使用
Integer.valueOf(rs.getString(1))
,使用
rs.getInt(1)
就足够了。而
executeQuery
不应返回
null
,因此不需要进行null检查。然后将引发异常。