24小时订单统计分析

  • 一.需求分析
  • 二.表结构分析
  • 三.具体案例实现步骤
    •   1.web开发所需环境和工具
    •   2.根据表设计我们开始建实体类
    •   3.根据需求分析图,我门将相对应方法依次实现
    •   4.前面都是准备工作,现在我们可以开始写servlet了
  • 四.最后..呼..终于到我们的主界面了
  •     最后感谢你的耐心观看,在这里给大家分享该案例相关的资源

一.需求分析

1.如图,是我们要做出的24小时订单统计分析,我们以图书为例:

2.根据用户所输的时间区间,点击查询,得到相对应时间段的订单,并以小时记生成的订单数
3.根据每小时生成的订单数,点击订单数得到相对应的订单详情
4.需要涉及的表结构:
   1)订单表
   2)订单详情表
   3)书本表
   4)书本类型表

二.表结构分析

  注意:在这里是我们使用的是MySQL数据库

CREATE TABLE tb_order(
oid INT PRIMARY KEY AUTO_INCREMENT COMMENT '订单id',
onumber VARCHAR(10) NOT NULL COMMENT '订单编号',
ocount INT NOT NULL COMMENT '订单生成的总数量',
otime TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '订单生成时间'
) COMMENT '订单表';CREATE TABLE tb_orderitem(
oid INT NOT NULL COMMENT '订单表的订单id',
bid INT NOT NULL COMMENT '书本表的书本id',
oicount INT NOT NULL COMMENT '销售量 即书本够买量'
) COMMENT '订单详情表';CREATE TABLE tb_book(
bid INT PRIMARY KEY AUTO_INCREMENT COMMENT '书本id',
bname VARCHAR(50) NOT NULL COMMENT '书本名称',
btype INT NOT NULL COMMENT '书本类型 来自 书本类型表',
bprice FLOAT NOT NULL COMMENT '书本价格',
bauthor VARCHAR(50) NOT NULL COMMENT '书本作者'
) COMMENT '书本表';CREATE TABLE tb_type(
tid INT AUTO_INCREMENT  PRIMARY KEY COMMENT '书本类型id',
tname VARCHAR(20) NOT NULL COMMENT '书本类型名称'
) COMMENT '书本类型表';

  连接MySQL数据库,其实导成jar包就不需要再写了,这里就算给新手提供连接MySQL数据库的方法参考吧…

package com.zking.hours.util;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;public class DBHelper {private static final String str="com.mysql.jdbc.Driver";//连接驱动地址private static final String url="jdbc:mysql://localhost:3306/数据库名";static {try {Class.forName(str);} catch (ClassNotFoundException e) {e.printStackTrace();}}public static Connection getCon() {Connection con=null;try {con=DriverManager.getConnection(url, "用户名", "密码");} catch (Exception e) {e.printStackTrace();}return con;}public static void dbClose(Connection con,PreparedStatement ps,ResultSet rs) {try {if(con!=null) {con.close();}if(ps!=null) {ps.close();}if(rs!=null) {rs.close();}} catch (Exception e) {e.printStackTrace();}}
}

三.具体案例实现步骤

  1.web开发所需环境和工具

     1)在后台功能实现方面,我们使用的开发工具是Eclipse和MySQL数据库
     2)为方便,我们使用使用了一个layUI的日历插件;当然HTML5自带date类型日期的效果,可以的话没必要使用插件,但要想更加美观建议使用插件.
     3)在前端我们使用BootStrap+jQuery达到一定的美化效果
     4)在优化方面我们采用了Ajax技术和JSON(这里使用的json版本是net.sf.json),最后实现无刷新查询数据

  2.根据表设计我们开始建实体类

        订单tb_order

package com.zking.hours.entity;import java.io.Serializable;public class Order implements Serializable {private int oid;private String onumber;private int ocount;private String otime;public int getOid() {return oid;}public void setOid(int oid) {this.oid = oid;}public String getOnumber() {return onumber;}public void setOnumber(String onumber) {this.onumber = onumber;}public int getOcount() {return ocount;}public void setOcount(int ocount) {this.ocount = ocount;}public String getOtime() {return otime;}public void setOtime(String otime) {this.otime = otime;}public Order(int oid, String onumber, int ocount, String otime) {super();this.oid = oid;this.onumber = onumber;this.ocount = ocount;this.otime = otime;}public Order() {}
}

        订单详情tb_orderitem

package com.zking.hours.entity;import java.io.Serializable;public class OrderItem implements Serializable {private int oid;private int bid;private int oicount;public int getOid() {return oid;}public void setOid(int oid) {this.oid = oid;}public int getBid() {return bid;}public void setBid(int bid) {this.bid = bid;}public int getOicount() {return oicount;}public void setOicount(int oicount) {this.oicount = oicount;}public OrderItem(int oid, int bid, int oicount) {super();this.oid = oid;this.bid = bid;this.oicount = oicount;}public OrderItem() {}
}

        书本tb_book

package com.zking.hours.entity;import java.io.Serializable;public class Book implements Serializable {private int bid;private String bname;private String btype;private double bprice;private String bauthor;public int getBid() {return bid;}public void setBid(int bid) {this.bid = bid;}public String getBname() {return bname;}public void setBname(String bname) {this.bname = bname;}public String getBtype() {return btype;}public void setBtype(String btype) {this.btype = btype;}public double getBprice() {return bprice;}public void setBprice(double bprice) {this.bprice = bprice;}public String getBauthor() {return bauthor;}public void setBauthor(String bauthor) {this.bauthor = bauthor;}public Book(int bid, String bname, String btype, double bprice, String bauthor) {super();this.bid = bid;this.bname = bname;this.btype = btype;this.bprice = bprice;this.bauthor = bauthor;}public Book() {}
}

        书本类型tb_type

package com.zking.hours.entity;import java.io.Serializable;public class BookType implements Serializable {private int tid;private String tname;public int getTid() {return tid;}public void setTid(int tid) {this.tid = tid;}public String getTname() {return tname;}public void setTname(String tname) {this.tname = tname;}public BookType(int tid, String tname) {super();this.tid = tid;this.tname = tname;}public BookType() {}
}

  3.根据需求分析图,我门将相对应方法依次实现

     1)日期范围查询和根据年月日时进行订单数据统计查询

package com.zking.hours.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.HashSet;
import java.util.Set;import com.zking.hours.entity.Order;
import com.zking.hours.util.DBHelper;public class OrderDao {private Connection con = null;private PreparedStatement ps = null;private ResultSet rs = null;/*** 根据日期范围查询* @param start 起始日期* @param end 结束日期* @return 返回一个set集合(因为set集合去重复,对象唯一)*/public Set<Order> getOrder(String start, String end) {Set<Order> olist = new HashSet<>();try {con = DBHelper.getCon();ps = con.prepareStatement("select otime from tb_order where otime between ? and ? order by otime ");//我们只需要日期ps.setString(1, start + " 0:0:0");//因为用户返回的日期是没有时分秒的,而数据库使用的是时间戳带有时分秒,因此我们可以在这里将起始时间添上0:0:0 一天的最早时间ps.setString(2, end + " 23:59:59");//同样的 添上13:59:59为一天最晚时间rs = ps.executeQuery();while (rs.next()) {Order or = new Order();or.setOtime(rs.getString(1));olist.add(or);}} catch (Exception e) {e.printStackTrace();} finally {//一定要记得关闭连接,否则不仅浪费资源,还次数或者数据多了会数据溢出....DBHelper.dbClose(con, ps, rs);}return olist;}/*** 通过日期年月日和时得到该小时数的订单总数* @param date 日期 年月日* @param hour 小时* @return 返回对应小时数的订单总数*/public Integer getTime(String date, Integer hour) {Integer it = null;try {con = DBHelper.getCon();if (hour < 10) {//当日期小时数小于10的时候给他加上0ps = con.prepareStatement("select count(*) from tb_order where otime like '" + date + " 0" + hour + "%'");} else {//大于10的时候则没必要ps = con.prepareStatement("select count(*) from tb_order where otime like '" + date + " " + hour + "%'");}rs = ps.executeQuery();if (rs.next()) {it = rs.getInt(1);}} catch (Exception e) {e.printStackTrace();} finally {DBHelper.dbClose(con, ps, rs);}return it;}}

     2)订单详情查询

package com.zking.hours.dao;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;import com.zking.hours.entity.Demo;
import com.zking.hours.util.DBHelper;public class OrderItemDao {private Connection con=null;private PreparedStatement ps=null;private ResultSet rs=null;/*** 通过日期年月日 时 连表查询得到相对应的订单详情数据* @param time 该时间在前端进行处理后 得到的格式就时 年月日 时* @return 返回该订单下的订单详情集合*/public List<Demo> getAll(String time){List<Demo> dlist=new ArrayList<>();try {con=DBHelper.getCon();ps=con.prepareStatement("SELECT torder.`otime`,torder.`onumber`,tbook.`bname`,ttype.`tname`,tbook.`bprice`,tbook.`bauthor`,torderitem.`oicount` FROM tb_order torder,tb_orderitem torderitem,tb_book tbook,tb_type ttype\r\n" + "WHERE torder.`oid`=torderitem.`oid`\r\n" + "AND torder.`otime` LIKE '%"+time+"%'\r\n" + "AND torderitem.`bid`=tbook.`bid`\r\n" + "AND tbook.`btype`=ttype.`tid`\r\n" + "ORDER BY torder.`onumber`");rs=ps.executeQuery();while(rs.next()) {Demo d=new Demo();//注意:这里根据需求再次添加了一个所需订单详情的实体类d.setOtime(rs.getString(1));d.setOnumber(rs.getString(2));d.setBname(rs.getString(3));d.setBtype(rs.getString(4));d.setBprice(rs.getDouble(5));d.setBauthor(rs.getString(6));d.setOicount(rs.getInt(7));dlist.add(d);}} catch (Exception e) {e.printStackTrace();}finally {DBHelper.dbClose(con, ps, rs);}return dlist;}
}

     3)所需的订单详情的实体类,根据需求可有可无,在这里为了方便使用特意新添的

package com.zking.hours.entity;import java.io.Serializable;public class Demo implements Serializable {private String otime;private String onumber;private String bname;private String btype;private double bprice;private String bauthor;private int oicount;public String getOtime() {return otime;}public String getBauthor() {return bauthor;}public void setBauthor(String bauthor) {this.bauthor = bauthor;}public void setOtime(String otime) {this.otime = otime;}public String getOnumber() {return onumber;}public void setOnumber(String onumber) {this.onumber = onumber;}public String getBname() {return bname;}public void setBname(String bname) {this.bname = bname;}public String getBtype() {return btype;}public void setBtype(String btype) {this.btype = btype;}public double getBprice() {return bprice;}public void setBprice(double bprice) {this.bprice = bprice;}public int getOicount() {return oicount;}public void setOicount(int oicount) {this.oicount = oicount;}public Demo() {}
}

  4.前面都是准备工作,现在我们可以开始写servlet了

   首先我们来理一下哪些地方需要写servlet:
   第一根据需求查看订单肯定是要的,那么肯定要获取用户输入的时间段进行日期范围查询,再根据处理后的时间进行按小时数订单总数的统计;
   第二根据小时数生成的订单查询相对应的订单详情,那么就要获取该订单所在的 年月日 时 ,来查询相对应的订单详情;

     1)订单的servlet

package com.zking.hours.servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import com.zking.hours.dao.OrderDao;
import com.zking.hours.entity.Order;import net.sf.json.JSON;
import net.sf.json.JSONObject;public class IndexServlet extends HttpServlet {protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//获取writer对象 用于写出数据到前端AjaxPrintWriter out = resp.getWriter();//起始时间String start = req.getParameter("start");//结束时间String end = req.getParameter("end");//实例化订单的dao方法OrderDao od = new OrderDao();// 根据时段查询订单Set<Order> olist = od.getOrder(start, end);//将要遍历的订单时间存在set集合中 并排序Set<String> set = new TreeSet<>();// 遍历olist集合得到所有的日期for (Order order : olist) {set.add(order.getOtime().substring(0, 10));// 获取日期 年月日}// 定义一个map集合用于遍历订单统计数 第一个参数为日期年月日(唯一,为建),第二个参数为24小时(值)Map<String, List<Integer>> map = new TreeMap<>();//遍历set集合 即所有的年月日for (String str : set) {//定义一个list集合 用于存24小时 注意使用的是list集合  有序有下标 便于数据遍历List<Integer> lnumber = new ArrayList<>();//遍历24小时for (int i = 0; i < 24; i++) {//调用 根据日期年月日 时 来统计该小时数的订单总数Integer it = od.getTime(str, i);//将24小时顺序加入lnumber集合中lnumber.add(it);}//依次将map集合中添加获取到的 该时段的订单统计数map.put(str, lnumber);}/** Set<Entry<String, List<Integer>>> es = map.entrySet();* * for (Entry<String, List<Integer>> entry : es) { System.out.println(entry); }*///最后使用JSONObject存储map集合  并将值传到前端AjaxJSONObject fo = JSONObject.fromObject(map);out.print(fo);//传值//一定要清空缓存和关闭 否则有时候会报你意想不到的错误 哈哈哈哈.....out.flush();out.close();}
}

     2)订单详情的servlet 相对比较简单

package com.zking.hours.servlet;import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.zking.hours.dao.OrderItemDao;
import com.zking.hours.entity.Demo;import net.sf.json.JSONArray;public class DemoServlet extends HttpServlet {protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//设置编码格式  如果页面较多 建议使用过滤器req.setCharacterEncoding("utf-8");resp.setCharacterEncoding("utf-8");resp.setContentType("text/html;charset=utf-8");//获取writer对象  用于写出值PrintWriter out=resp.getWriter();//获取时间  该时间格式在前端已处理过String time=req.getParameter("time");//调用订单详细的方法  OrderItemDao oid=new OrderItemDao();//根据指定时间段查询对应的订单详情List<Demo> all = oid.getAll(time);//将all集合存储到json中JSONArray fo = JSONArray.fromObject(all);//传值out.print(fo);//再次强调一定要 清除缓存和关闭!!!!!out.flush();out.close();}}

四.最后…呼…终于到我们的主界面了

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>24小时统计分析</title><style>body{padding: 20px;}.demo-input{padding-left: 10px; height: 38px; min-width: 262px; line-height: 38px; border: 1px solid #e6e6e6;  background-color: #fff;  border-radius: 2px;}.demo-footer{padding: 50px 0; color: #999; font-size: 14px;}.demo-footer a{padding: 0 5px; color: #01AAED;}</style><script type="text/javascript" src="js/laydate.js"></script>
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="js/bootstrap.css"/>
<script type="text/javascript">
//执行一个laydate实例laydate.render({elem: '#start' //指定元素});laydate.render({elem: '#end' //指定元素});
</script>
</head><script type="text/javascript">$(function() {//给订单查询按钮添加点击事件$("#select").click(function name() {//获取用户所输的起始日期var start=$("#start").val();//结束日期var end=$("#end").val();//使用Ajax 这是另一种写法,较为简单明了//第一个参数道标,要去的servlet路径//第二个参数代表要传递的值//第三个参数为成功的回掉函数 只有成功的,若要写失败的则使用另一个Ajax方法 $.ajax()//第四个参数为返回类型,可有可无,Ajax会自动判别返回类型$.post("index.do", {start:start,end:end}, function(str){//定义的自增序列号var g=1;//解析从servlet传过来的值var value=$.parseJSON(str);//拼接表格var tb="<table class='table table-bordered'><tr><td></td><td>日期/时段</td><td>00</td><td>01</td><td>02</td><td>03</td><td>04</td><td>05</td><td>06</td><td>07</td><td>08</td><td>09</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td><td>22</td><td>23</td></tr>";//循环遍历集合value map集合 k代表日期 value为根据24小时统计的订单数的list集合for(var k in value ){//alert("键:"+k+",值:"+value[k]);tb+="<tr>"tb+="<td>"+g+++"</td>"tb+="<td>"+k+"</td>" //获取建 即日期 年月日for(var v in value[k]){ //获取根据24小时统计的订单数的集合tb+="<td οnclick='demo(\""+k+"\",\""+v+"\")'>"+value[k][v]+"</td>"//遍历24小时订单数 并写一个函数方法将日期 年月日 时 传给下一个订单详情查询的方法中}tb+="</tr>"}tb+="</table>";$("#dv").html(tb);//将拼接的表格写到html的div中}); })})//查看订单详情的函数 k为日期年月日 v为24小时数function demo(k,v) {//定义一个日期格式为 年月日 时 的变量var time;//小时数小于10 给它加个0if(v<10){time=k+" 0"+v;}else{//小时数大于10time=k+" "+v;}//定义自增序列var g=1;//使用Ajax 详情解说请见上一个Ajax方法$.post("orderitme.do", {time:time}, function(data) {//解析servlet传的值var value=$.parseJSON(data);//拼接表格var tb="<table class='table table-bordered'><tr><td></td><td>下单时间</td><td>订单编号</td><td>书本名称</td><td>书本类型</td><td>书本价格</td><td>书本作者</td><td>销售数量</td></tr>";//循环遍历value集合 为list集合for(var i=0; i<value.length; i++){/* alert("时间:"+value[i].otime+"编号:"+value[i].onumber); */tb+="<tr>"tb+="<td>"+g+++"</td>"//自增序列tb+="<td>"+value[i].otime+"</td>"//下单时间 带时分秒tb+="<td>"+value[i].onumber+"</td>" //订单编号tb+="<td>"+value[i].bname+"</td>" //书本名称tb+="<td>"+value[i].btype+"</td>" //书本类型tb+="<td>"+value[i].bprice+"</td>" //书本价格tb+="<td>"+value[i].bauthor+"</td>" //书本作者tb+="<td>"+value[i].oicount+"</td>" //书本销售量tb+="</tr>"}tb+="</table>";$("#dt").html(tb);//将拼接的表格写到html的div中})}</script><body><label>时段区间:<input class="demo-input" placeholder="请选择日期" id="start" name="start" type="text">~<input class="demo-input" placeholder="请选择日期" id="end" name="end" type="text"><input id="select" style="margin-top: -12px" class="btn" value="查询" type="button"></label>
<br/>
<label>数据报表</label><div id="dv"></div><br/>
<label>数据报表</label><div id="dt"></div>
</body>
</html>

    最后感谢你的耐心观看,在这里给大家分享该案例相关的资源

链接:https://pan.baidu.com/s/1urj2F8cpAV9oWpLKmCcQlA 提取码:y6gq

24小时订单统计分析相关推荐

  1. 基于SSH2做一个24小时订单分析表格

    基于SSH2做一个24小时订单分析表格 以下为要实现的最终效果截图: ps:没有时间优化前段页面样式,对前段美化有要求的小伙伴可以自行引用BOOtStrap.esayUi 或者 layUi 自行优化. ...

  2. 【淘宝网】尊贵的会员,您好! 关于订单编号2077692120317494611,买家反馈商品问题,由于凭证缺少,请在24小时内补充,若您是品牌方进货,请提供指向品牌方的进货发票;若您是经销商进货,请

    [淘宝网]尊贵的会员,您好! 关于订单编号2077692120317494611,买家反馈商品问题,由于凭证缺少,请在24小时内补充,若您是品牌方进货,请提供指向品牌方的进货发票:若您是经销商进货,请 ...

  3. Java 中Timer定时器设置订单提交后24小时未付款订单状态为已关闭。

    1. 简单的Timer定时器方法 public class CommTimer {/*** 设置指定24小时后执行*/public static void orderClose() {final Ti ...

  4. 弘辽科技:拼多多24小时不发货怎么办?如何发货?

    消费者成功下单之后,作为商家就要在规定时间内发货了,如果不及时发货对店铺就会造成影响,那拼多多24小时不发货怎么办?接下来我们就来给大家讲解一下这方面的内容. 一般拼多多平台会要求客户下单内48小时, ...

  5. 淘宝开通恶意评价维权通道 客服24小时内处理

    昨日,淘宝网正式开通恶意评价在线维权通道,淘宝卖家一旦遭遇买家恶意评价敲诈行为,可第一时间通过该通道进行维权. 恶意评价在线维权通道开通后,淘宝卖家一旦遭遇到评价人以给予中.差评的方式谋取额外财务或其 ...

  6. 大数据24小时:系统工程领域专家夏耘出任海云数据CEO,交通部将对网约车公司运营数据进行监管

    [数据猿导读]系统工程领域专家夏耘加盟海云数据,接替冯一村任CEO一职:交通部颁布<办法>,将对网约车公司运营数据进行监管:阿里云在欧洲推出多款产品,涉及大数据.人工智能.安全等领域--以 ...

  7. 光大“乌龙指”24小时

    对于身处其中的人们来说,这是最长的一天. 2015年07月20日陈晓舒 上海 特写 正午的话: 2013年8月16日11时05分,上证综指突然上涨5.96%,50多只权重股均触及涨停.造成当天市场异动 ...

  8. 哪个线上打印平台属于24小时营业的打印店?

    在许多校园内的打印店经常被学生挤得水泄不通,校园内的打印需求量是非常大的,而遇到考研复习时,很多学生需要打印许多学习方面的资料,到校园的打印店排上半小时.一小时是时常的事情. 不仅学生排队等候等的着急 ...

  9. iOS小技能:自定义时间格式(适配iOS15.4之后12/24小时制的问题)

    文章目录 引言 I 自定义格式 1.1 小程序订单小票 1.2 订单详情时间格式化 1.3 代码实现 II iOS15.4之后12/24小时制的问题 2.1 问题 2.2 适配 2.3 小结 III ...

最新文章

  1. java 拉姆表达式_Java8 lambda表达式10个示例
  2. 计算机网络:单播,多播
  3. pycharm点击右上角退出程序时terminate和disconnect区别?(别用disconnect)
  4. C语言实现通用链表初步(一)
  5. golang rpc demo
  6. 封条格式用word怎么打_标书密封条格式全word.doc
  7. 【java进阶之路】(并发编程篇)1.Java线程
  8. java sql拼接字符串_java字符串拼接(SQL)
  9. adobe photoshop cc 2014 安装失败
  10. 抖音视频如何一键批量下载
  11. 从Activiti切换到Camunda的5个理由
  12. 数据竞赛:工业互联网算法大赛能源赛道风机轴承剩余寿命预测
  13. BSC-币安智能链主网节点搭建(详细步骤)
  14. 企业微信登录不了怎么办 企业微信无法登录的原因及解决方法
  15. ERROR 2002 (HY000): Cant connect to local MySQL server through socket的解决方法
  16. 怎么制作位置分布图,怎么画网点分布图
  17. 软件测试工程师面试的时候该怎么样介绍自己?你的简历是不是该优化了
  18. 苹果发布会总结:全新 iMac、iPad Pro、 紫色 iPhone 12 和 AirTag 登场
  19. 第一天送宇轩去幼儿园
  20. rz命令上传文件乱码,无关be参数

热门文章

  1. EndNote使用手册(无图版)
  2. 递归解析之DFS全排列
  3. Codeforces Round #704 (Div. 2)-C. Maximum width-题解
  4. 软件工程学习进度表(十六周)
  5. Mac OS X 不完全使用指南
  6. Eclipse 断点调试(Debug), 使用方法
  7. MacBook Air 2014 os x 10.9.5无法升级的问题
  8. 性能分析之两个性能瓶颈分析案例
  9. web前端必学功法之一:轮播图
  10. 【开箱视频】仪器验收需要注意哪些细节?