苍穹外卖项目初始化代码-提交订单
This commit is contained in:
92
springcache-demo/pom.xml
Normal file
92
springcache-demo/pom.xml
Normal file
@@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.7.3</version>
|
||||
<relativePath/>
|
||||
</parent>
|
||||
<groupId>com.itheima</groupId>
|
||||
<artifactId>springcache-demo</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.20</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>1.2.76</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>commons-lang</groupId>
|
||||
<artifactId>commons-lang</artifactId>
|
||||
<version>2.6</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-cache</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mybatis.spring.boot</groupId>
|
||||
<artifactId>mybatis-spring-boot-starter</artifactId>
|
||||
<version>2.2.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid-spring-boot-starter</artifactId>
|
||||
<version>1.2.1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-spring-boot-starter</artifactId>
|
||||
<version>3.0.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>2.7.3</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
7
springcache-demo/springcachedemo.sql
Normal file
7
springcache-demo/springcachedemo.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
DROP TABLE IF EXISTS `user`;
|
||||
CREATE TABLE `user` (
|
||||
`id` bigint NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(45) DEFAULT NULL,
|
||||
`age` int DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.inmind;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cache.annotation.EnableCaching;
|
||||
|
||||
@Slf4j
|
||||
@SpringBootApplication
|
||||
@EnableCaching //开启缓存注解功能
|
||||
public class CacheDemoApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(CacheDemoApplication.class,args);
|
||||
log.info("项目启动成功...");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.inmind.config;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
|
||||
import springfox.documentation.builders.ApiInfoBuilder;
|
||||
import springfox.documentation.builders.PathSelectors;
|
||||
import springfox.documentation.builders.RequestHandlerSelectors;
|
||||
import springfox.documentation.service.ApiInfo;
|
||||
import springfox.documentation.spi.DocumentationType;
|
||||
import springfox.documentation.spring.web.plugins.Docket;
|
||||
|
||||
@Configuration
|
||||
@Slf4j
|
||||
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
|
||||
|
||||
/**
|
||||
* 生成接口文档配置
|
||||
* @return
|
||||
*/
|
||||
@Bean
|
||||
public Docket docket(){
|
||||
log.info("准备生成接口文档...");
|
||||
|
||||
ApiInfo apiInfo = new ApiInfoBuilder()
|
||||
.title("接口文档")
|
||||
.version("2.0")
|
||||
.description("接口文档")
|
||||
.build();
|
||||
|
||||
Docket docket = new Docket(DocumentationType.SWAGGER_2)
|
||||
.apiInfo(apiInfo)
|
||||
.select()
|
||||
//指定生成接口需要扫描的包
|
||||
.apis(RequestHandlerSelectors.basePackage("com.inmind.controller"))
|
||||
.paths(PathSelectors.any())
|
||||
.build();
|
||||
|
||||
return docket;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置静态资源映射
|
||||
* @param registry
|
||||
*/
|
||||
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
|
||||
log.info("开始设置静态资源映射...");
|
||||
registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
|
||||
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.inmind.controller;
|
||||
|
||||
import com.inmind.entity.User;
|
||||
import com.inmind.mapper.UserMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.CachePut;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/user")
|
||||
@Slf4j
|
||||
public class UserController {
|
||||
|
||||
@Autowired
|
||||
private UserMapper userMapper;
|
||||
|
||||
@PostMapping
|
||||
@CachePut(cacheNames = "userCache",key = "#user.id")
|
||||
public User save(@RequestBody User user){
|
||||
userMapper.insert(user);
|
||||
return user;
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@CacheEvict(cacheNames = "userCache",key = "#id")//key的生成:userCache::id(动态)
|
||||
public void deleteById(Long id){
|
||||
userMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@CacheEvict(cacheNames = "userCache",allEntries = true)
|
||||
@DeleteMapping("/delAll")
|
||||
public void deleteAll(){
|
||||
userMapper.deleteAll();
|
||||
}
|
||||
|
||||
@GetMapping
|
||||
|
||||
@Cacheable(cacheNames = "userCache",key = "#id")
|
||||
public User getById(Long id){
|
||||
User user = userMapper.getById(id);
|
||||
return user;
|
||||
}
|
||||
|
||||
}
|
||||
17
springcache-demo/src/main/java/com/inmind/entity/User.java
Normal file
17
springcache-demo/src/main/java/com/inmind/entity/User.java
Normal file
@@ -0,0 +1,17 @@
|
||||
package com.inmind.entity;
|
||||
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class User implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private Long id;
|
||||
|
||||
private String name;
|
||||
|
||||
private int age;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.inmind.mapper;
|
||||
|
||||
import com.inmind.entity.User;
|
||||
import org.apache.ibatis.annotations.*;
|
||||
|
||||
@Mapper
|
||||
public interface UserMapper{
|
||||
|
||||
@Insert("insert into user(name,age) values (#{name},#{age})")
|
||||
@Options(useGeneratedKeys = true,keyProperty = "id")
|
||||
void insert(User user);
|
||||
|
||||
@Delete("delete from user where id = #{id}")
|
||||
void deleteById(Long id);
|
||||
|
||||
@Delete("delete from user")
|
||||
void deleteAll();
|
||||
|
||||
@Select("select * from user where id = #{id}")
|
||||
User getById(Long id);
|
||||
}
|
||||
21
springcache-demo/src/main/resources/application.yml
Normal file
21
springcache-demo/src/main/resources/application.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
server:
|
||||
port: 8888
|
||||
spring:
|
||||
datasource:
|
||||
druid:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://localhost:3306/spring_cache_demo?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
|
||||
username: root
|
||||
password: 1234
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
# password: 123456
|
||||
database: 1
|
||||
logging:
|
||||
level:
|
||||
com:
|
||||
inmind:
|
||||
mapper: debug
|
||||
service: info
|
||||
controller: info
|
||||
Reference in New Issue
Block a user