栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

按条件查询订单

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

按条件查询订单

创建Servlet

单击“查询”,提交表单,发送“/findOrderByManyCondition”,由FindOrderByManyConditionServlet处理

public class FindOrderByManyConditionServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
        //获取订单编号和收件人名称
		String id = request.getParameter("id");
		String receiverName = request.getParameter("receiverName");
        //创建Service层对象
		OrderService service = new OrderService();
		//调用Service层OrderService类的findOrderByManyCondition()方法查询数据
		List orders = service.findOrderByManyCondition(id, receiverName);
        //将查询结果添加到request作用域中
		request.setAttribute("orders", orders);
        //请求转发到list.jsp页面,并将request请求和response响应也转发到该页面中
		request.getRequestDispatcher("/admin/orders/list.jsp").forward(request,
				response);
	}
}
编写Service层方法
// 多条件查询订单信息                                                                 
public List findOrderByManyCondition(String id, String receiverName) {
	List orders = null;                                               
	try {                                                                    
		orders = odao.findOrderByManyCondition(id, receiverName);            
	} catch (SQLException e) {                                               
		e.printStackTrace();                                                 
	}                                                                        
	return orders;                                                           
}                                                                            
编写DAO层方法
public List findOrderByManyCondition(String id, String receiverName)
		throws SQLException {
	//1.创建集合对象
	List objs = new ArrayList();
	//2.定义查询sql
	String sql = "select orders.*,user.* from orders,user where user.id=orders.user_id ";
	//3.根据参数拼接sql语句
	if (id != null && id.trim().length() > 0) {
		sql += " and orders.id=?";
		objs.add(id);
	}
	if (receiverName != null && receiverName.trim().length() > 0) {
		sql += " and receiverName=?";
		objs.add(receiverName);
	}
	sql += " order by orders.user_id";
	//4.创建QueryRunner对象
	QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
	//5.返回QueryRunner对象query方法的执行结果
	return runner.query(sql, new ResultSetHandler>() {
		public List handle(ResultSet rs) throws SQLException {
			List orders = new ArrayList();
           //循环遍历出订单和用户信息
			while (rs.next()) {
				Order order = new Order();
				order.setId(rs.getString("orders.id"));
				order.setMoney(rs.getDouble("orders.money"));
				order.setOrdertime(rs.getDate("orders.ordertime"));
				order.setPaystate(rs.getInt("orders.paystate"));
				order.setReceiverAddress(rs
						.getString("orders.receiverAddress"));
				order.setReceiverName(rs.getString("orders.receiverName"));
				order.setReceiverPhone(rs.getString("orders.receiverPhone"));
				orders.add(order);
				User user = new User();
				user.setId(rs.getInt("user.id"));
				user.setEmail(rs.getString("user.email"));
				user.setGender(rs.getString("user.gender"));
				user.setActiveCode(rs.getString("user.activecode"));
				user.setIntroduce(rs.getString("user.introduce"));
				user.setPassword(rs.getString("user.password"));
				user.setRegistTime(rs.getDate("user.registtime"));
				user.setRole(rs.getString("user.role"));
				user.setState(rs.getInt("user.state"));
				user.setTelephone(rs.getString("user.telephone"));
				user.setUsername(rs.getString("user.username"));
				order.setUser(user);

			}

			return orders;
		}
	}, objs.toArray());
}

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号