commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henri Yandell (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DBUTILS-27) [dbutils] QueryRunner.count(String, ...) methods for SELECT COUNT(...) sql
Date Thu, 02 Nov 2006 07:26:17 GMT
    [ http://issues.apache.org/jira/browse/DBUTILS-27?page=comments#action_12446473 ] 
            
Henri Yandell commented on DBUTILS-27:
--------------------------------------


In comparison to DBUTILS-17, the method name is more focused here (count(..)), but the method
doesn't take care of the "select count(*)", so you could quite happily pass something in that
is not a count method. This makes it just a weakly described version of DBUTILS-17.

It does handle the null to 0 semantics that make sense in the case of a count request, and
it is returning an int rather than the Integer/Long that DBUTILS-17 has to do because it uses
the Handler system.

The API could be changed to only have the where clause, but that seems pretty weak.

Maybe this should be a:

public long QueryRunner.queryForLong(...)



> [dbutils]  QueryRunner.count(String, ...) methods for SELECT COUNT(...) sql
> ---------------------------------------------------------------------------
>
>                 Key: DBUTILS-27
>                 URL: http://issues.apache.org/jira/browse/DBUTILS-27
>             Project: Commons DbUtils
>          Issue Type: Improvement
>         Environment: Operating System: All
> Platform: All
>            Reporter: Michael Heuer
>            Priority: Minor
>             Fix For: 1.1
>
>         Attachments: count.java, count.java, diff.txt
>
>
> Found that I was repeating the same bit of code over and over again when executing SELECT
COUNT(...) 
> sql queries with QueryRunner, so I thought I might code this up into a set of static
methods for possible 
> inclusion in commons-dbutils.
> e.g.
> Connection conn;
> String sql = "select count(*) from tablename where column0 = ? and column1 = ?";
> from:
> int count = 0;
> Object result = QueryRunner.query(conn, sql, new Object[] { "foo", "bar" }, new ScalarHandler());
> if (result != null) {
>   count = ((Integer) result).intValue();
> }
> to:
> int count = QueryRunner.count(conn, sql, new Object[] { "foo", "bar" });
> See attached diff.txt.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message