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); } }