DTO is an abbreviation for Data Transfer Object, so it is used
to transfer the data between classes and modules of your application. DTO
should only contain private fields for your data, getters, setters and
constructors. It is not recommended to add business logic methods to such
classes, but it is OK to add some util methods.
DAO is an abbreviation for Data Access Object, so it should
encapsulate the logic for retrieving, saving and updating data in your data
storage (a database, a file-system, whatever). Here is an example how the DAO
and DTO interfaces would look like:
interface PersonDTO {
String getName();
void setName(String name);
//.....
}
interface PersonDAO {
PersonDTO findById(long id);
void save(PersonDTO person);
//.....
}
DAO is a class that
usually has the CRUD operations like save, update, delete. DTO is just an
object that holds data. It is JavaBean with instance variables and setter and
getters.
The DTO is used to expose several values in a bean like fashion. This provides a light-weight mechanism to transfer values over a network or between different application tiers.
DTO will be passed as value object to DAO layer and DAO layer will use this object to persist data using its CRUD operation methods.
The DTO is used to expose several values in a bean like fashion. This provides a light-weight mechanism to transfer values over a network or between different application tiers.
DTO will be passed as value object to DAO layer and DAO layer will use this object to persist data using its CRUD operation methods.