SpringBoot构建电商基础秒杀项目 学习笔记html
Spring Boot 其实不是什么新的框架,它默认配置了不少框架的使用方式,就像 maven 整合了全部的 jar 包, Spring Boot 整合了全部的框架,并经过一行简单的 main 方法启动应用java
使用 IDEA 新建 maven-archetype-quickstart 项目mysql
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> </parent> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
修改 App.javagit
@EnableAutoConfiguration @RestController public class App { @RequestMapping("/") public String home(){ return "Hello World!"; } public static void main( String[] args ) { System.out.println( "Hello World!" ); SpringApplication.run(App.class, args); } }
运行,在浏览器输入:localhost:8080github
注:8080 是默认端口,若是要使用其余端口,能够在 application.properties 修改,如:server.port=8090web
<!--mysql jdbc 配置--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.41</version> </dependency> <!--阿里巴巴德鲁伊链接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.3</version> </dependency> <!--spring boot 对 mybatis 的支持--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <!--mybatis 自动生成工具用来生成对应的数据库文件的映射--> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.5</version> <dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.41</version> </dependency> </dependencies> <executions> <execution> <id>mybaits generator</id> <phase>package</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <!--容许移动生成的文件--> <verbose>true</verbose> <!--容许文件自动覆盖,实际开发中千万不要设置为 true--> <overwrite>true</overwrite> <!--generator 配置文件路径--> <configurationFile> src/main/resources/mybatis-generator.xml </configurationFile> </configuration> </plugin>
mybatis.mapper-locations=classpath:mapping/*.xml
数据库名为 seckillspring
create table if not exists user_info( id int not null auto_increment, name varchar(64) not null default '', gender tinyint not null default 0 comment '1: 男, 2: 女', age int not null default 0, telphone varchar(16) not null default '', register_mode varchar(64) not null default '' comment 'byphone, bywechat, byalipay', third_party_id varchar(64) not null default '', primary key (id) ); create table if not exists user_password ( id int not null auto_increment, encrpt_password varchar(128) not null default '', user_id int not null default 0, primary key (id) );
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <!--http://www.mybatis.org/generator/configreference/xmlconfig.html--> <generatorConfiguration> <context id="MySQLTables" targetRuntime="MyBatis3"> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/seckill" userId="root" password="root"> </jdbcConnection> <!--生成 DataObject 类存放位置--> <javaModelGenerator targetPackage="com.karonda.dataobject" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!--生成映射文件存放位置--> <sqlMapGenerator targetPackage="mapping" targetProject="src/main/resources"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!--生成 Dao 类存放位置--> <!--客户端代码,生成易于使用的针对 Model 对象和 XML 配置文件的代码--> <!--type="ANNOTATEDMAPPER", 生成 Java Model 和基于注解的 Mapper 对象--> <!--type="MIXEDMAPPER", 生成基于注解的 Java Model 和相应的 Mapper 对象--> <!--type="XMLMAPPER", 生成 SQLMap XML 文件和独立的 Mapper 接口--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.karonda.dao" targetProject="src/main/java"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!--生成对应表及类名--> <!--*Example 禁用自动生成的复杂查询--> <table tableName="user_info" domainObjectName="UserDO" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> <table tableName="user_password" domainObjectName="UserPasswordDO" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>
Run -- Edit Configurations -- 新增 -- Maven:sql
Run 'mybatis-generator'数据库
在 application.properties 添加配置:浏览器
spring.datasource.name=seckill spring.datasource.url=jdbc:mysql://127.0.0.1:3306/seckill spring.datasource.username=root spring.datasource.password=root # 使用 druid 数据源 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-name=com.mysql.jdbc.Driver
@SpringBootApplication(scanBasePackages = {"com.karonda"}) @RestController @MapperScan("com.karonda.dao") public class App { @Autowired private UserDOMapper userDOMapper; @RequestMapping("/") public String home(){ UserDO userDO = userDOMapper.selectByPrimaryKey(1); if(userDO == null){ return "用户对象不存在"; }else{ return userDO.getName(); } } public static void main( String[] args ) { System.out.println( "Hello World!" ); SpringApplication.run(App.class, args); } }