SSM开发大众点评实战之订单模块

数据库设计

  • 订单模块.PNG

    建主外键关系?VS 不建主外键关系?
  • 数据一致性
  • 程序自身也得保证数据一致性

CREATE TABLE `orders` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `business_id` int(11) DEFAULT NULL COMMENT '商户主键',
  `member_id` int(11) DEFAULT NULL COMMENT '会员主键',
  `num` int(11) DEFAULT NULL COMMENT '消费人数',
  `comment_state` int(1) DEFAULT NULL COMMENT '评论状态 -- 0:未评论 2:已评论',
  `price` decimal(11,2) DEFAULT NULL COMMENT '价格(消费金额)',
  `create_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8
  • 订单表.PNG

    为什么不用手机号做关联,要用订单主键做关联?
    手机号修改时,会员表也要修改
    订单数量怎么统计?
    定时任务

  • 定时任务.PNG

    定时任务实现:

  • 定时任务实现.PNG
SpringTask.PNG
  • 注解的方式比较麻烦,得从代码中去看,使用xml进行配置
  • 订单数量与商户星级随着购买人数的增加一直在增加,若通过全表扫描来更新数量,sql语句的执行时间也会逐渐增加,怎么办?

可以给表设置上次更新时间,每次更新时,只从表中统计上次更新时间以后的数据的数量,每次更新结束后,将上次更新时间设置为当前时间,

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,484评论 0 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • 再没有这样的言语 想对你说的都写在水面 风过泛起涟漪 句子散了 人还在这故事中徘徊 忘记了 我是在夏天里等一场风雪...
    池南晓梦阅读 133评论 0 2
  • 热血传奇作为初代网游,一推出就吸引了不少网虫的目光。要知道,当时可是只有像魂斗罗之类的街机可以玩一玩,日常生活是十...
    无名子_37d0阅读 233评论 0 0
  • 生活里的“分寸”,不是什么新鲜话题。自古就有“过犹不及”这样的成语。日常生活中,“过了分寸”的事常见。好吃...
    南风之薰专栏阅读 528评论 0 1