赞
踩
前端:Freemarker、jQuery
后端:SpringBoot、MyBatisPlus、Lombok
中间件:Redis
请先在MySQL中创建数据库seckilldb。
表名 | 说明 |
t_dict_data | 字典小类表 |
t_dict_type | 字典大类表 |
t_goods | 商品信息表 |
t_order | 订单信息表 |
t_order_item | 订单项信息表 |
t_user | 用户信息表 |
使用[Spring Initializer](https://start.spring.io/)快速初始化一个 Spring Boot 工程(工程将以 MySQL 作为默认数据库)
基于Spring Boot 2.7.12和MyBatis-Plus 3.5.2配置项目依赖。
添加依赖:
- <!--freemarker-->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-freemarker</artifactId>
- </dependency>
-
- <!--spring web-->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
-
- <!--mysql-->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <scope>runtime</scope>
- <version>5.1.44</version>
- </dependency>
-
- <!--lombok-->
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <optional>true</optional>
- </dependency>
-
- <!--junit-->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-test</artifactId>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <groupId>org.junit.vintage</groupId>
- <artifactId>junit-vintage-engine</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
-
- <!-- mybatis plus依赖 -->
- <dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>mybatis-plus-boot-starter</artifactId>
- <version>3.5.2</version>
- </dependency>
-
- <!-- mybatis-plus-generator依赖 -->
- <dependency>
- <groupId>com.baomidou</groupId>
- <artifactId>mybatis-plus-generator</artifactId>
- <version>3.5.2</version>
- </dependency>
-
- <!--hariki-->
- <dependency>
- <groupId>com.zaxxer</groupId>
- <artifactId>HikariCP</artifactId>
- </dependency>
-
- <!-- MD5依赖 -->
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- <version>3.6</version>
- </dependency>
-
- <!-- valid验证依赖 -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-validation</artifactId>
- </dependency>
-
- <!--redis-->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-redis</artifactId>
- </dependency>
-
- <!--commons-pool2 对象池依赖 2.0版本的lettuce需要-->
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-pool2</artifactId>
- </dependency>

配置数据库及连接池
- spring:
- datasource:
- url: jdbc:mysql://localhost:3306/seckilldb?useSSL=false&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&characterEncoding=UTF8
- driver-class-name: com.mysql.jdbc.Driver
- password: 1234
- username: root
- hikari:
- # 最小空闲连接数量
- minimum-idle: 5
- # 空闲连接存活最大时间,默认600000(10分钟)
- idle-timeout: 180000
- # 连接池最大连接数,默认是10
- maximum-pool-size: 10
- # 此属性控制从池返回的连接的默认自动提交行为,默认值:true
- auto-commit: true
- # 连接池名称
- pool-name: MyHikariCP
- # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
- max-lifetime: 1800000
- # 数据库连接超时时间,默认30秒,即30000
- connection-timeout: 30000

请修改数据库名、账号及密码。
配置freemarker
- spring:
- freemarker:
- #设置编码格式
- charset: UTF-8
- #后缀
- suffix:
- #文档类型
- content-type: text/html
- #模板前端
- template-loader-path: classpath:/templates/
- #启用模板
- enabled: true
- mvc:
- static-path-pattern: /static/**
配置redis
- spring:
- redis:
- #服务端IP
- host: 127.0.0.1
- #端口
- port: 6379
- #密码
- password: 123456
- #选择数据库
- database: 0
- #超时时间
- timeout: 10000ms
- #Lettuce的连接是基于Netty的,连接实例(StatefulRedisConnection)可以在多个线程间并发访问
- #Lettuce线程安全,Jedis线程非安全
- lettuce:
- pool:
- #最大连接数,默认8
- max-active: 8
- #最大连接阻塞等待时间,默认-1
- max-wait: 10000ms
- #最大空闲连接,默认8
- max-idle: 200
- #最小空闲连接,默认0
- min-idle: 5

请修改Redis服务器的IP地址及密码。
配置mybatis-plus
- #mybatis-plus配置
- mybatis-plus:
- #所对应的 XML 文件位置
- mapper-locations: classpath*:/mapper/*Mapper.xml
- #别名包扫描路径
- type-aliases-package: com.zking.项目名.model
- configuration:
- #驼峰命名规则
- map-underscore-to-camel-case: true
注意:请修改项目名。
配置logging日志
- #日志配置
- logging:
- level:
- com.zking.项目名.mapper: debug
注意:请修改项目名。
将课件资料中的html目录下的static和templates导入到项目的resources目录下。
在controller包下创建PageController,用于公共页面跳转。
- @Controller
- @RequestMapping("/page")
- public class PageController {
-
- @RequestMapping("/{page}")
- public String to(@PathVariable("page") String page){
- return page;
- }
-
- @RequestMapping("/{dir}/{page}")
- public String to(@PathVariable("dir") String dir,
- @PathVariable("page") String page){
- return dir+"/"+page;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。