add role table, refactor BaseMapper