Segundo a wikipedia:
Objeto de acesso a dados (acrônimo do inglês Data Access Object - DAO), é um padrão para aplicações que utilizam persistência de dados, onde tem a separação das regras de negócio das regras de acesso a banco de dados, implementada com linguagens de programação orientadas a objetos (como por exemplo Java) e arquitetura MVC, onde todas as funcionalidades de bancos de dados, tais como obter conexões, mapear objetos para tipos de dados SQL ou executar comandos SQL, devem ser feitas por classes DAO.
Alguns links Úteis:
https://spring.io/projects/spring-boot
https://www.eclipse.org/downloads/
https://www.devmedia.com.br/implementando-o-data-access-object-no-java-ee/33339