:arrow: Independência de Banco de Dados: Se nós mudarmos o Banco de Dados não precisamos mudar nossos códigos fontes
:arrow: Separar Códigos SQL (que não são orientados a objetos) das nossas classes
:arrow: Flexibilidade em manutenção, pois se precisarmos alterar alguma coisa no SQL, não precisamos recompilar as classes
e por ae vai.
Mas acredito se você quer todos esses pontos acima de uma forma mais simples e clara, usar uma camada de persistênca faz o mesmo papel e de uma forma mais produtiva, clara e de um jeito bem mais fácil
O objetivo principal é, desculpe a redundância, tirar o SQL do código java. Assim se o SQL mudar ou precisar de correção você não precisa recompilar a aplicação.
Apesar de nao ser a finalidade primordial, acredito que os ResourceBundle’s sejam a melhor alternativa a sua necessidade. Voce entao codifica todos os seus SQL’s num arquivo .properties e aponta esse arquivo de dentro do seu codigo.
De uma pesquisada nos ResourceBundle para ter mais informacoes.