Trabalhar com uma classe com todo o codigo JDBC pode ser simples no comeco, mas no decorrer do seu projeto voce pode sair prejudicado com a complexidade que essa classe pode lhe causar. Se o numero de tabelas aumenta, mais metodos e mais confuso pode ser tornar todo o codigo dentra dessa classe.
Existem uma serie de Engines e Frameworks que cuidam da persistencia de Dados, como o TopLink, o Castor, etc… Na maioria desses Engines voce vai perceber que alguns implementam o pattern DAO (Data Access Object) que pode retratar o mapeamento objeto-relacional de forma 1 para 1, ou seja, uma tabela vira uma classe Java. E nesse caso nao ha retorno de result-set e sim de VO (Value Objects, que nada mais sao que classes Java que encapsulam os objetos recuperados do banco, geralmente provenientes de varias tabelas).
O que eu faço!? Eu uso um framework de persistencia chamado BC4J que oferece varios Patterns (Data Access Objects, Value Objetcs, Paged List e Session Facade) entao eu ja me acostumei a trabalhar com o VO.
Ja chegue até a usar o DBTags do Jakarta
http://jakarta.apache.org/taglibs/doc/dbtags-doc/index.html
e nao gostei muito.
Tem outras TagLibs que pegam o result set dos Beans e usam em um loop (for) para listar todos os registros. Se eu nao me engano tem no site da Oreilly http://www.oreilly.com/catalog/jserverpages2/
Voce pode baixar os exemplos do livro, as tags sao razoaveis, ja usei tambem.
Enfim, das duas formas vai funcionar, o detalhe mais importante é como tornar mais reusavel o seu código e como tornar a manutencao mais simples e eficaz. Nesse caso um bom Framework que usa varios Design Patterns seria o mais indicado. Mais que eu ja fiz muito codigo com result set pra lá e pra cá, isso eu fiz… 