All interface use `XXXDao` as its name, and the implementation should be named as `XXXDaoImpl`