A linguagem Java vem se destacando como uma alternativa viável para a integração de aplicações novas e legadas na Internet. Essa infra-estrutura de integração não estaria completa se não contemplasse o acesso a sistemas de bancos de dados.
Um sistema de banco de dados é constituído por uma coleção organizada de dados (a base de dados) e pelo software que coordena o acesso a esses dados (o sistema gerenciador de banco de dados, ou SGBD). Utilizar um sistema de banco de dados ao invés de simples arquivos para armazenar de forma persistente os dados de uma aplicação apresenta diversas vantagens, das quais se destacam:
o desenvolvedor da aplicação não precisa se preocupar com os detalhes do armazenamento, trabalhando com especificações mais abstratas para a definição e manipulação dos dados;
tipicamente, um SGBD incorpora mecanismos para controle de acesso concorrente por múltiplos usuários e controle de transações;
é possível compartilhar dados comuns entre mais de uma aplicação mesmo que a visão dos dados de cada aplicação seja distinta.
Existem soluções para integrar aplicações Java a bancos de dados orientados a objetos e a bancos de dados relacionais. Neste caso, a solução é padronizada através da especificação JDBC.