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

时间:2018-08-28 01:14:20

标签: 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( "DID NOT Find Records !!! " );
    }

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

4 个答案:

答案 0 :(得分:1)

替换

if (rs.next() && rs.getString( 1 ).equals( "1" ))

作者

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

答案 1 :(得分:0)

您将需要使用别名,然后从count中提取返回的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'是给定的别名。

答案 2 :(得分:0)

rs.getString( 1 )包含数据库中的行计数值。只需将其解析为Integer以获取行数

 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 !!! " );
    }

答案 3 :(得分:0)

将其设为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