This the Data Acess Object implemented in java
In computer software, a data access object is an object that provides an abstract interface to some type of database or other persistence mechanism. By mapping application calls to the persistence layer, the DAO provides some specific data operations without exposing details of the database. Wikipedia