条件过滤(商品名称、价格以及商品类别的查询)

07.增加商品分类查询条件

操作步骤:

    1):提供ProductDir的DAO实现.

    2):在ProductServelt中,查询出所有的商品分类信息,并提供给list.jsp页面,目的:可以选择商品分类.

    3):修改list.jsp增加商品分类查询.

    4):修改ProductQueryObject类,增加查询条件:dir_id.

    5):修改ProductQueryObject中的getQuery方法.增加dir_id的查询代码   

    6):修改ProductServelt获取商品分类参数,并设置到ProductQueryObject类中.

    多一个查询条件,那么在Query对象中应该多封装一个查询信息,在getQuery方法中,多编写两行代码.    

dao

public interface IProductDAO {
   

    List<Product> list();

    List<Product> query(ProductQueryObject qo);
}
public interface IProductdirDAO {
    List<Productdir> list();
}

impl

public class ProductDAOImpl implements IProductDAO {
   

    public List<Product> list() {
        String sql = "SELECT * FROM product";
        return JdbcTemplate.query(sql, new ProductResultHandler());
    }

    public List<Product> query(ProductQueryObject qo) {
        String sqlQuery = qo.getQuery();
        List<Object> parameters = qo.getParameters();
        String sql = "SELECT * FROM product "+sqlQuery;
        System.out.println("SQL="+sql);
        System.out.println("数组:"+parameters);
        return JdbcTemplate.query(sql, new ProductResultHandler(),parameters.toArray());
    }


    //定义处理商品对象的结果集处理器
        class ProductResultHandler implements ResultSetHandler<List<Product>> {
   
            @Override
            public List<Product> handle(ResultSet rs) throws SQLException {
                List<Product> list = new ArrayList<>();
                while (rs.next()) {
                    Product pro = new Product();
                    list.add(pro);
                    pro.setId(rs.getLong("id"));
                    pro.setProductName(rs.getString("productName"));
                    pro.setBrand(rs.getString("brand"));
                    pro.setSupplier(rs.getString("supplier"));
                    pro.setSalePrice(rs.getBigDecimal("salePrice"));
                    pro.setCostPrice(rs.getBigDecimal("costPrice"));
                    pro.setCutoff(rs.getDouble("cutoff"));
                    pro.setDir_id(rs.getLong("dir_id"));
                }
                return list;
            }
        }
}
public class ProductdirDAOImpl implements IProductdirDAO {
   

    public List<Productdir> list() {
        String sql = "SELECT * FROM productdir";
        return JdbcTemplate.query(sql, new ProductResultHandler());
    }

    //定义处理商品对象的结果集处理器
    class ProductResultHandler implements ResultSetHandler<List<Productdir>> {
   
        @Override
        public List<Productdir> handle(ResultSet rs) throws SQLException {
            List<Productdir> list = new ArrayLi
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值