Estou lendo a especificação Java JDBC (vr. 4) e encontrei esta declaração:
DataSource - esta interface foi introduzida na API de pacote opcional JDBC 2.0. É preferível ao DriverManager porque permite que os detalhes sobre a fonte de dados subjacente sejam transparentes para o aplicativo
O que estou tentando entender é qual é a diferença entre a Connection
e a DataSource
, e por que existe. Quer dizer, o bloco acima diz que os detalhes sobre uma fonte de dados são transparentes para o aplicativo, mas externalizar as propriedades do banco de dados como nome de usuário, senha, url etc em um arquivo de propriedade e usar o DriverManager não funcionaria da mesma maneira?
E a DataSource
interface é criada apenas para ter uma maneira comum de retornar conexões que podem ser agrupadas etc.? Em Java EE, o servidor de aplicativos implementa essa interface e os aplicativos implantados para ter uma referência a uma fonte de dados em vez de uma conexão?
fonte
If you are going to program a connection pool then you have to use DriverManager, otherwise go with Datasource.
- você mudou os nomes?DriverManager
DataSource
fonte
O código abaixo mostra duas maneiras de obter conexão.
Não há necessidade de saber sobre o URL caso
mySqlDataSource
esta linha seja comentada.fonte
Podemos obter a conexão usando uma fonte de dados da seguinte maneira. Use a conexão para realizar qualquer consulta ao banco de dados.
fonte
DataSource
os objetos podem fornecer pool de conexão e transações distribuídas, portanto, pode ser necessário usarDataSource
se precisar de um ou de ambos os recursos.fonte