进一步改进，现在可以接受多种类型的参数作为查询对象了