JDBC案例(下):删除多个商品、多条件查找 分页查询

案例一、删除多个商品

一,需求分析

​ 在product_list.jsp上可以选择多个商品,点击"删除选中"按钮,将把选中的商品从数据库中移除

JDBC案例(下):删除多个商品、多条件查找 分页查询_第1张图片

二,思路分析

  1. 整理页面, 添加"复选框"和"删除选中"的按钮

  2. 给最上面的复选框设置点击事件,创建函数响应这个事件

  3. 在函数里面:完成全选和全不选

  4. 给按钮设置一个点击事件,创建函数响应这个事件

  5. 在这个函数里面,把选中的商品pid提交到ProductServlet

    http://localhost:8080/JDBC/productServlet?method=deleteChecked&pid=1&pid=2&pid=3
    
    1.拼接(太麻烦)
    2.表单
  6. 在ProductServlet里面创建deleteChecked()方法

  7. 在deleteChecked()方法里面:

    ​ 获得参数(pid) requet.getParameterValues("pid");

    ​ 调用业务,删除选中的商品,使用事务管理

    ​ 重定向到查询所有展示

三,代码实现

 

 

案例二、多条件查找

一,需求分析

​ 在list.jsp添加一个表单,有两个文本框(商品名和关键字),一个提交"查询"按钮

JDBC案例(下):删除多个商品、多条件查找 分页查询_第2张图片

二,思路分析

  1. 在list.jsp添加 商品名输入框,关键词输入框, 查找按钮

  2. 点击查找按钮, 把用户输入的 "商品名" , "关键词", method参数 提交到ProductServlet

  3. 在ProductServlet创建findByConditions()方法

  4. 在findByConditions()方法里面:

    ​ 获得参数(商品名,关键词)

    ​ 调用业务,根据条件查询商品, List

    ​ 把list存在request域对象了里面,转发到product_list.jsp页面

  5. 创建业务

  6. 创建Dao

    //拼接字符串
    String sql = "select * from product where 1 = 1"; 
    
    --> "select * from product
    
    if(pname!=null){
       sql += " and pname like ?";
    }
    
    if(key != null){
       sql += " and pdesc like ?";
    }
    ===============================================================================
    如果没有条件:select *from product where 1 = 1
    如果有一个条件: pname: select *from product where 1 = 1 and pname like ?
    			   key:   select *from product where 1 = 1 and key like ?
    如果有两个条件:select *from product where 1 = 1 and pname like ?  and pdesc like ?
    
      String sql = "select *from product where pname like ?  and pdesc like ?  (两个条件满足) 

 

三,代码实现

 

 

 

案例三、分页查询

一,需求分析

​ 对商品进行分页查询

JDBC案例(下):删除多个商品、多条件查找 分页查询_第3张图片

二,思路分析

  1. 在index页面添加一个超链接

JDBC案例(下):删除多个商品、多条件查找 分页查询_第4张图片

 

你可能感兴趣的:(JAVA)