首页 理论教育 使用定时任务实时统计-Java服务端研发知识图谱

使用定时任务实时统计-Java服务端研发知识图谱

时间:2023-11-22 理论教育 版权反馈
【摘要】:上面演示了定时任务的使用方法,但是要想真正理解一种技术还需要在实战中进行应用。下面模拟一种情况,让定时任务实时统计电商平台当天的订单流水。在getStatis方法中,获取当天时间作为查询条件,然后使用自定义mapper查询当天平台内的订单总体情况并且返回。执行程序后,向数据库中添加一个订单,可以看到如下输出:使用此定时任务,可以实时查看平台内的订单情况,类似于双十一实时查看订单交易额。

使用定时任务实时统计-Java服务端研发知识图谱

上面演示了定时任务的使用方法,但是要想真正理解一种技术还需要在实战中进行应用。下面模拟一种情况,让定时任务实时统计电商平台当天的订单流水。

(1)创建一个数据库

创建一个简单的数据库订单表order_job,用于记录一个电商平台的订单信息,此表中每个字段的含义如下:

■id:订单ID。

■price:订单的价格。

■userid:此订单的购买者。

■status:订单支付状态,0表示未支付,在本节中为了使逻辑简单明了所以没有使用此字段,后面会使用此字段。

■createtime:订单创建时间。

■statis:订单是否已经计入统计汇总,本节没有使用此字段。

创建完以上数据库表后,在工程中添加Mybatis、起步依赖及工程配置,以实现操作数据库的能力。

(2)添加自定义mapper

由于要对订单流水进行统计操作,所以需要自定义mapper用来操作数据库,在resources/ mybatis/manual目录下,添加文件OrderManualMapper.xml,此文件的内容如下:(www.xing528.com)

在上面的SQL语句中,select方法主要查询当天订单的总金额和订单总数。

添加resultMap对应的数据类型,此类型用于承接数据库查询到的数据。

添加OrderManualMapper接口,用于映射select方法。

(3)添加数据操作类

添加接口类OrderDao[21]和实现类OrderDaoImpl,用于操作自定义mapper及设置逻辑查询条件。

在getStatis方法中,获取当天时间作为查询条件,然后使用自定义mapper查询当天平台内的订单总体情况并且返回。

(4)添加定时任务

添加一个定时任务,此任务每10s执行一次,查询并且显示平台内的订单总体信息。

执行程序后,向数据库中添加一个订单,可以看到如下输出:

使用此定时任务,可以实时查看平台内的订单情况,类似于双十一实时查看订单交易额。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈