利用反射+抽象工厂进行数据访问,并且可以更改底层DB数据库。