Java apachedbutils和标量值
我需要用DBUtils获取标量值,有人知道如何获取吗?目前我有:Java apachedbutils和标量值,java,apache-commons-dbutils,Java,Apache Commons Dbutils,我需要用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
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测试它时,我得到了正确的数字。嗯,没有什么比将标准方案名称重命名为“public”(PostgreSQL)更好的了,也没有什么比不在SQL中使用它更好的了,这是正确的方法:
String sql = "SELECT count(*) FROM \"MySchema\".t1 WHERE cod = ?";
希望有人能帮上忙。我希望下面的代码能帮助您,ScalarHandler只提取一个列值
public Object queryColumnVaue(String sql,String columnName) throws SQLException {
ScalarHandler<Object> kh = new ScalarHandler<Object>(columnName);
return query(sql,kh);
}
公共对象queryColumnVaue(字符串sql,字符串columnName)抛出SQLException{
ScalarHandler kh=新的ScalarHandler(columnName);
返回查询(sql,kh);
}