我需要通过DBUtils获得标量值,有人知道如何获得它吗?目前,我正在:

    String sql = "SELECT count(*) FROM t1 WHERE cod = ?";
    final QueryRunner run = new QueryRunner(new AppDataSource());
    ScalarHandler scalar = new ScalarHandler();
    long count = -1l;
    try{
        Object[] params =
        {
                code
        };
        count = ((Long) run.query(sql, scalar, params)).longValue();
    }
    catch(SQLException e){
        e.printStackTrace();
    }
    System.out.println(count);

但结果仍然为-1。当我用db util测试它时,我得到正确的数字。

最佳答案

我希望下面的代码可以为您提供帮助,ScalarHandler只会获取一列值。

public Object queryColumnVaue(String sql,String columnName) throws SQLException {
     ScalarHandler<Object> kh = new ScalarHandler<Object>(columnName);
     return query(sql,kh);
 }

08-04 05:07