Hi shivakumar,
1) Does it comes under creational, behavioural or anyother... ?
DAO represents a specific way of handling the challenge of an application dealing with multiple type of storages (diff type of databases).It provides us a way to implement a loosly coupled system, in which changes to the data access layer would not have any impact in the code of other layers.
2) if i write a class with database related stuff, does it mean i followed DAO design pattern?
Not exactly, In DAO design pattern, there must be at least three classes.
1- Data Access Object, which will encapsulate the way of communicating with the database.
2- Application layer which would require the data to be retried or persisted in the database to fulfill any specific need.
3- A transfer object, which will be a pojo. we will populate it in the Data Access Object class and make it accessible to other layers.
In such a way we get the benefit of loose coupling. In this case, change (change of database, or way of accessing) in the data access layer (1st object) does not require any corresponding change in other layers(2nd or 3rd object).
I hope this would clear your doubt.