Я знаю два способа
1) переносимый - пробежаться по ResultSet и посчитать
2) не переносимый - воспользоваться драйвер-специфичным механизмом (если таковой есть)
для mysql можно сделать следующим образом:
SELECT SQL_CALC_FOUND_ROWS a FROM b WHERE c=?
а затем
SELECT FOUND_ROWS()
первый запрос вернет сами строки, а второй количество найденных строк. Это тоже СУБД-специфичный способ, но если Вы реализуете свой слой абстракции... :)