Spring JDBC - Visão geral
Ao trabalhar com banco de dados usando JDBC antigo simples, torna-se complicado escrever código desnecessário para lidar com exceções, abrindo e fechando conexões de banco de dados, etc. No entanto, o Spring JDBC Framework cuida de todos os detalhes de baixo nível, começando pela abertura da conexão, preparação e executar a instrução SQL, processar exceções, manipular transações e, finalmente, fechar a conexão.
O que você precisa fazer é apenas definir os parâmetros de conexão e especificar a instrução SQL a ser executada e fazer o trabalho necessário para cada iteração enquanto busca dados do banco de dados.
O Spring JDBC fornece várias abordagens e classes correspondentes diferentes para fazer a interface com o banco de dados. Neste tutorial, usaremos a abordagem clássica e mais popular que faz uso da classe JDBC Template do framework. Esta é a classe de estrutura central que gerencia toda a comunicação do banco de dados e tratamento de exceções.
Classe de modelo JDBC
A classe JDBC Template executa consultas SQL, atualiza instruções e chamadas de procedimento armazenado, realiza iteração em ResultSets e extração de valores de parâmetro retornados. Ele também captura exceções JDBC e as traduz para a hierarquia de exceção genérica e mais informativa definida no pacote org.springframework.dao.
As instâncias da classe JDBC Template são threadsafe, uma vez configuradas. Portanto, você pode configurar uma única instância de um modelo JDBC e, em seguida, injetar com segurança essa referência compartilhada em vários DAOs.
Uma prática comum ao usar a classe JDBC Template é configurar um DataSource em seu arquivo de configuração Spring e, em seguida, injetar em dependência esse bean DataSource compartilhado em suas classes DAO. O modelo JDBC é criado no setter para o DataSource.
Objeto de acesso a dados (DAO)
DAO significa Data Access Objectque é comumente usado para interação com o banco de dados. Os DAOs existem para fornecer um meio de ler e gravar dados no banco de dados e devem expor essa funcionalidade por meio de uma interface pela qual o restante do aplicativo os acessará.
O suporte a Data Access Object (DAO) no Spring torna mais fácil trabalhar com tecnologias de acesso a dados como JDBC, Hibernate, JPA ou JDO de maneira consistente.