为了账号安全,请及时绑定邮箱和手机立即绑定

Java高并发秒杀API之业务分析与DAO层

  • 补充一下:username导致c3p0连不上的问题看可以通过在<context:property-placeholder location="classpath:jdbc.properties"/>添加属性system-properties-mode --><context:property-placeholder location="classpath:jdbc.properties" system-properties-mode="NEVER"/>,该属性默认为ENVIRONMENT,所以取到的值是环境变量中的username而不是properties中的username
    查看全部
  • CREATE DATABASE seckill; USE seckill; CREATE TABLE seckill( seckill_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '商品库存表', name VARCHAR(120) NOT NULL COMMENT '商品名称', number int NOT NULL COMMENT '库存数量', create_time TIMESTAMP NOT NULL DEFAULT current_timestamp COMMENT '创建时间', start_time TIMESTAMP NOT NULL COMMENT '秒杀开始时间', end_time TIMESTAMP NOT NULL COMMENT '秒杀结束时间', PRIMARY KEY (seckill_id), KEY idx_start_time(start_time), KEY idx_end_time(end_time), KEY idx_create_time(create_time) )ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET =utf8 COMMENT ='秒杀库存表'; INSERT INTO seckill(name, number, start_time, end_time) --超字数了 VALUES(); ccess_killed( seckill_id BIGINT NOT NULL COMMENT '秒杀商品id', user_phone BIGINT NOT NULL COMMENT '用户手机号', state TINYINT NOT NULL NOT NULL DEFAULT -1 COMMENT '标识状态 -1 无效 0成功 1已付款 2 已发货 ', create_time TIMESTAMP NOT NULL COMMENT '创建时间', PRIMARY KEY (seckill_id,user_phone), KEY idx_create_time(create_time) )ENGINE =InnoDB DEFAULT CHARSET =utf8 COMMENT ='秒杀成功明细';
    查看全部
  • mvn archetype:create -DgroupId=org.seckill -DartifactId=seckill -DarchetypeArtifactId=maven-archetype-webapp

    查看全部
  • CREATE TABLE seckill( seckill_id BIGINT NOT NULL AUTO_INCREMENT COMMENT '商品库存id', NAME VARCHAR(120) NOT NULL COMMENT '商品名称', number INT NOT NULL COMMENT '库存数量', create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', start_time TIMESTAMP NOT NULL COMMENT '秒杀开启时间', end_time TIMESTAMP NOT NULL COMMENT '秒杀结束时间', PRIMARY KEY (seckill_id), KEY idx_start_time(start_time), KEY idx_end_time(end_time), KEY idx_create_time(create_time) )ENGINE=INNODB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8 COMMENT='描述库存表'; 要记得把create_time放到另外两个时间前面,不然会报1293错误,因为根据网上的解释,原因是如果你有两个timestamp字段,但是只把第一个设定为current_timestamp而第二个没有设定默认值,mysql也能成功建表,但是反过来就不行...
    查看全部
  • <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd" > </beans>
    查看全部
  • mvn archetype:create -DgroupId=org.seckill -DartifactId=seckill -DarchetypeArtifactId=maven-archetype-webapp 会报错,原因http://maven.apache.org/archetype/maven-archetype-plugin/create-mojo.html Create已经废弃。使用generate代替 mvn archetype:generate -DgroupId=org.seckill -DartifactId=seckill -DarchetypeArtifactId=maven-archetype-webapp
    查看全部
  • 这里有个坑,如果系统jvm环境存在username变量的话,这里必须使用其他名称。<br> 可以改为user或者jdbc.username,相应的spring-dao.xml配置也要改,要么就在xml配置写死。<br> 浪费了很多时间,以后印象会特别深刻!!
    查看全部
  • 官网资源地址

    logback配置:http://logback.qos.ch/manual/configuration.html spring配置:http://docs.spring.io/spring/docs/ mybatis配置:http://mybatis.github.io/mybatis-3/zh/index.html

    mvn archetype:create -DgroupId=org.seckill -DartifactId=seckill -DarchetypeArtifactId=maven-archetype-webapp

    -DgroupId=org.seckill -DartifactId=seckill:标注项目的坐标

    org.seckill:项目名

    -DarchetypeArtifactId=maven-archetype-webapp:使用webapp原型去创建项目

    使用以上命令项目创建失败


    查看全部
  • 源码及文档路径https://github.com/codingXiaxw/seckill
    查看全部
  • 自动生成代码测试----->在待编写测试的java类源码块上按快捷键ctrl+shift+T
    查看全部
  • -- 数据库初始化脚本 -- 创建数据库 CREATE DATABASE seckill; use seckill; CREATE TABLE seckill( seckill_id bigint NOT NULL AUTO_INCREMENT COMMENT '商品库存id', name VARCHAR(120) NOT NULL COMMENT '商品名称', number int NOT NULL COMMENT '库存数量', create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', start_time TIMESTAMP NOT NULL COMMENT'秒杀开启时间', end_time TIMESTAMP NOT NULL COMMENT '秒杀结束时间', PRIMARY KEY (seckill_id), KEY idx_create_time(create_time), KEY idx_start_time(start_time), KEY idx_end_time(end_time) )ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8 COMMENT='秒杀数据库'; --mysql引擎配置为innordb,以便支持事务 -- 初始化数据库 INSERT INTO seckill(name,number,start_time,end_time) VALUES ('1000元秒杀iphone6',100,'2016-11-23 00:00:00','2016-11-24 00:00:00'), ('500元秒杀ipad2',200,'2016-11-23 00:00:00','2016-11-24 00:00:00'), ('300元秒杀小米4',300,'2016-11-23 00:00:00','2016-11-24 00:00:00'), ('2000元秒杀iphone6s',400,'2016-11-23 00:00:00','2016-11-24 00:00:00');
    查看全部
  • 1.MySQL默认表的第一个timestamp字段为NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP属性,必须显式定义改变这种行为。 2.MySQL只允许一个timestamp字段拥有[DEFAULT CURRENT_TIMESTAMP |ON UPDATE CURRENT_TIMESTAMP]属性。 所以start_time和end_time字段必须显示指定默认值为CURRENT_TIMESTAMP(不能为空),才能创建成功,否则会报错!
    查看全部
  • CREATE TABLE seckill( 'seckill_id' BIGINT NOT NULL AUTO_INCREMENT COMMENT '商品库存ID', 'name' varchar(500) NOT NULL COMMENT '商品名称', 'number' INT NOT NULL COMMENT '库存数量', 'start_time' TIMESTAMP NOT NULL COMMENT '秒杀开启时间', 'end_tiem' TIMESTAMP NOT NULL COMMENT '秒杀结束时间', 'create_time' TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (seckill_id), KEY idx_start_time(start_time), KEY idx_end_time(end_time), KEY idx_create_time(create_time) )ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8 COMMENT='秒杀库存表'; -- 初始化数据 insert into seckill(name,number,start_time,end_time) values create table success_killed( 'seckill_id' bigint NOT NULL COMMENT '秒杀商品ID', 'user_phone' bigint NOT NULL COMMENT '用户手机号', 'state' TINYINT NOT NULL DEFAULT -1 COMMENT '状态表示:-1:无效 0 成功 1 已付款 2 已发货', 'create_time' TIMESTAMP NOT NULL COMMENT '创建时间', PRIMARY KEY (seckill_id,user_phone),/*联合主键:*/ key idx_create_time(create_time) )ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='秒杀成功明细表';
    查看全部
  • CREATE TABLE seckill(

    seckill_id bigint NOT NULL AUTO_INCREMENT COMMENT '商品库存id',

    name varchar(120) NOT NULL COMMENT '库存数量',

    start_time timestamp NOT NULL COMMENT '秒杀开启时间',

    end_time timestamp NOT NULL COMMENT '秒杀结束时间',

    create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    PRIMARY KEY (seckill_id),

    key idx_start_time(start_time),

    key idx_end_time(end_time),

    key idx_create_time(create_time)

    )ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8 COMMENT='秒杀库存表';

    默认字符是utf8,而不是utf-8

    查看全部
  • <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1" metadata-complete="true"> </web-app> 4.0版本出错不知为什么 You are using the deployment descriptor schema (web-app_2_5.xsd) version 2.5 which is in javaee namespace (http://java.sun.com/xml/ns/javaee). But You have given J2ee namespace instead (http://java.sun.com/xml/ns/j2ee). Try using the Java EE 7 namespace: <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> </web-app>
    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
《Java高并发秒杀API》是系列课程,共四门课,分别为业务分析和DAO层,Service层,Web层和高并发优化。本门课程是第一门课程,学习前需要了解如下知识: 1、精通JavaWeb基础 2、熟悉SpringMVC、Spring和MyBatis框架
老师告诉你能学到什么?
1、掌握秒杀业务 2、能够进行SpringMVC+Spring+MyBatis的整合开发 3、能够进行秒杀业务DAO层的设计与实现

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!