Что такое DAO?

DAO находится между логикой кода классов и БД. DAO структура разделяет логику кода от кода доступа к данным. Код бизнес логики собственно и занимается ею, за счёт DAO он освобождается от необходимости выполнять SQL запросы, за счет этого код бизнес транзакций легче читать, так как он больше не работает с инфраструктурой.