Data Access Object
The object provides an abstract interface to some type of database or another persistence mechanism. Let's discuss how DAO encapsulates data access and manipulation in a separate layer. It is hard to understand this pattern so my suggestion is to go to source code section and have a look at code step by step gives you more clarity. This pattern is divided into a number of sections for simplicity like problem, forces, solution, implementation etc. Table of contents Problem Forces Solution Structure - Class Diagram, Sequence Diagram Participants and Responsibilities Implementation Consequences Applicability References Problem (Problem section describes the design issues faced by the developer) You want to encapsulate data access and manipulation in a separate layer. Read more on http://www.javaguides.net/2018/08/data-access-object-pattern-in-java.html