//通过封装的Condition实体表查询指定的商品
public List<Product> findProductByCondition(Condition condition) throws SQLException {
QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
//创建一个list集合存放可变参数
List<String> list = new ArrayList<String>();
String sql = "select * from product where 1=1 ";
if(condition.getPname()!=null&&!condition.getPname().trim().equals("")) {
sql+= " and pname like ? ";
list.add("%"+condition.getPname().trim()+"%");
}
if(condition.getIs_hot()!=null&&!condition.getIs_hot().trim().equals("")) {
sql+= " and is_hot =? ";
list.add(condition.getIs_hot().trim());
}
if(condition.getCid()!=null&&!condition.getCid().trim().equals("")) {
sql+= " and cid =? ";
list.add(condition.getCid().trim());
}
List<Product> productList = qr.query(sql, new BeanListHandler<Product>(Product.class),list.toArray()); //将集合转换为数组
return productList;