重构数据库访问层，依赖DbUtil