我需要通过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);
}