add dao interface and basedao class