zoukankan      html  css  js  c++  java
  • Spring Boot 构建电商基础秒杀项目 (一) 项目搭建

    SpringBoot构建电商基础秒杀项目 学习笔记

    Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 maven 整合了所有的 jar 包, Spring Boot 整合了所有的框架,并通过一行简单的 main 方法启动应用

    使用 IDEA 新建 maven-archetype-quickstart 项目

    添加 Spring Boot 依赖

    <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.java

    @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:8080

    注:8080 是默认端口,如果要使用其他端口,可以在 application.properties 修改,如:server.port=8090

    接入 Mybatis

    添加依赖

    <!--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>
    

    在 application.properties 添加配置

    mybatis.mapper-locations=classpath:mapping/*.xml
    

    新建数据表

    数据库名为 seckill

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

    添加配置文件 mybatis-generator.xml

    <?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>
    

    新建 Maven 命令

    Run -- Edit Configurations -- 新增 -- Maven:

    • Name: mybatis-generator
    • Command line: mybatis-generator:generate

    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
    

    修改 App.java

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

    源码:spring-boot-seckill

  • 相关阅读:
    冒泡排序(C语言)解析
    URL的重写
    探索sscli, 开启CLR 的大门——配置环境详解(转)
    反射概述
    C#项目打包,并自动安装SQL数据库
    HttpRequest.ServerVariables[""]中的参数集
    如何动态设置全局theme,及在web.config中读取pages节点的内容。
    ASP.NET2.0发送电子邮件
    MD5加密的绵集
    ASP.NET中动态生成Xml格式文档,并转换为HTML文件
  • 原文地址:https://www.cnblogs.com/victorbu/p/10538615.html
Copyright © 2011-2022 走看看