weiximei 6 年前
当前提交
17cd673060

+ 29
- 0
whole-estate/.gitignore 查看文件

@@ -0,0 +1,29 @@
1
+HELP.md
2
+/target/
3
+!.mvn/wrapper/maven-wrapper.jar
4
+
5
+### STS ###
6
+.apt_generated
7
+.classpath
8
+.factorypath
9
+.project
10
+.settings
11
+.springBeans
12
+.sts4-cache
13
+
14
+### IntelliJ IDEA ###
15
+.idea
16
+*.iws
17
+*.iml
18
+*.ipr
19
+
20
+### NetBeans ###
21
+/nbproject/private/
22
+/nbbuild/
23
+/dist/
24
+/nbdist/
25
+/.nb-gradle/
26
+/build/
27
+
28
+### VS Code ###
29
+.vscode/

+ 133
- 0
whole-estate/pom.xml 查看文件

@@ -0,0 +1,133 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4
+    <modelVersion>4.0.0</modelVersion>
5
+    <parent>
6
+        <groupId>org.springframework.boot</groupId>
7
+        <artifactId>spring-boot-starter-parent</artifactId>
8
+        <version>2.1.3.RELEASE</version>
9
+        <relativePath/> <!-- lookup parent from repository -->
10
+    </parent>
11
+    <groupId>com.example</groupId>
12
+    <artifactId>whole-estate</artifactId>
13
+    <version>0.0.1-SNAPSHOT</version>
14
+    <name>whole-estate</name>
15
+    <description>Demo project for Spring Boot</description>
16
+
17
+    <properties>
18
+        <java.version>1.8</java.version>
19
+    </properties>
20
+
21
+    <dependencies>
22
+        <dependency>
23
+            <groupId>org.springframework.boot</groupId>
24
+            <artifactId>spring-boot-starter-web</artifactId>
25
+        </dependency>
26
+
27
+        <!-- mybatis-plus -->
28
+        <dependency>
29
+            <groupId>com.baomidou</groupId>
30
+            <artifactId>mybatis-plus-boot-starter</artifactId>
31
+            <version>3.1.0</version>
32
+        </dependency>
33
+
34
+        <dependency>
35
+            <groupId>mysql</groupId>
36
+            <artifactId>mysql-connector-java</artifactId>
37
+            <version>6.0.6</version>
38
+        </dependency>
39
+        <dependency>
40
+            <groupId>org.projectlombok</groupId>
41
+            <artifactId>lombok</artifactId>
42
+            <optional>true</optional>
43
+        </dependency>
44
+
45
+        <!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-jdbc -->
46
+        <!--<dependency>-->
47
+            <!--<groupId>org.springframework.session</groupId>-->
48
+            <!--<artifactId>spring-session-jdbc</artifactId>-->
49
+            <!--<version>2.1.3.RELEASE</version>-->
50
+        <!--</dependency>-->
51
+
52
+
53
+        <!-- 测试 -->
54
+        <dependency>
55
+            <groupId>org.springframework.boot</groupId>
56
+            <artifactId>spring-boot-starter-test</artifactId>
57
+            <scope>test</scope>
58
+        </dependency>
59
+        <!-- fastjson -->
60
+        <dependency>
61
+            <groupId>com.alibaba</groupId>
62
+            <artifactId>fastjson</artifactId>
63
+            <version>1.2.56</version>
64
+        </dependency>
65
+
66
+        <!-- commons-lang3 工具类 -->
67
+        <dependency>
68
+            <groupId>org.apache.commons</groupId>
69
+            <artifactId>commons-lang3</artifactId>
70
+            <version>3.8.1</version>
71
+        </dependency>
72
+
73
+        <!-- commons-lang 工具类 -->
74
+        <dependency>
75
+            <groupId>commons-lang</groupId>
76
+            <artifactId>commons-lang</artifactId>
77
+            <version>2.6</version>
78
+        </dependency>
79
+
80
+        <!-- commons-io 工具类 -->
81
+        <dependency>
82
+            <groupId>commons-io</groupId>
83
+            <artifactId>commons-io</artifactId>
84
+            <version>2.6</version>
85
+        </dependency>
86
+
87
+        <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
88
+        <dependency>
89
+            <groupId>commons-logging</groupId>
90
+            <artifactId>commons-logging</artifactId>
91
+            <version>1.2</version>
92
+        </dependency>
93
+
94
+
95
+        <!-- guava 工具类 -->
96
+        <dependency>
97
+            <groupId>com.google.guava</groupId>
98
+            <artifactId>guava</artifactId>
99
+            <version>27.1-jre</version>
100
+        </dependency>
101
+
102
+        <!-- 数据源 -->
103
+        <dependency>
104
+            <groupId>com.alibaba</groupId>
105
+            <artifactId>druid</artifactId>
106
+            <version>1.1.14</version>
107
+        </dependency>
108
+
109
+        <!-- swagger2 -->
110
+        <dependency>
111
+            <groupId>io.springfox</groupId>
112
+            <artifactId>springfox-swagger2</artifactId>
113
+            <version>2.7.0</version>
114
+        </dependency>
115
+
116
+        <dependency>
117
+            <groupId>io.springfox</groupId>
118
+            <artifactId>springfox-swagger-ui</artifactId>
119
+            <version>2.7.0</version>
120
+        </dependency>
121
+
122
+    </dependencies>
123
+
124
+    <build>
125
+        <plugins>
126
+            <plugin>
127
+                <groupId>org.springframework.boot</groupId>
128
+                <artifactId>spring-boot-maven-plugin</artifactId>
129
+            </plugin>
130
+        </plugins>
131
+    </build>
132
+
133
+</project>

+ 35
- 0
whole-estate/src/main/java/com/example/wholeestate/WholeEstateApplication.java 查看文件

@@ -0,0 +1,35 @@
1
+package com.example.wholeestate;
2
+
3
+import com.alibaba.fastjson.serializer.SerializerFeature;
4
+import com.alibaba.fastjson.support.config.FastJsonConfig;
5
+import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
6
+import org.mybatis.spring.annotation.MapperScan;
7
+import org.mybatis.spring.annotation.MapperScans;
8
+import org.springframework.boot.SpringApplication;
9
+import org.springframework.boot.autoconfigure.SpringBootApplication;
10
+import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
11
+import org.springframework.context.annotation.Bean;
12
+import org.springframework.transaction.annotation.EnableTransactionManagement;
13
+
14
+@SpringBootApplication
15
+@EnableTransactionManagement
16
+public class WholeEstateApplication {
17
+
18
+    public static void main(String[] args) {
19
+        SpringApplication.run(WholeEstateApplication.class, args);
20
+    }
21
+
22
+    @Bean
23
+    public HttpMessageConverters fastJsonConfigure(){
24
+        FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
25
+        FastJsonConfig fastJsonConfig = new FastJsonConfig();
26
+        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.WriteMapNullValue);
27
+        //日期格式化
28
+        //fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
29
+        converter.setFastJsonConfig(fastJsonConfig);
30
+        return new HttpMessageConverters(converter);
31
+    }
32
+
33
+
34
+
35
+}

+ 10
- 0
whole-estate/src/main/java/com/example/wholeestate/common/Constant.java 查看文件

@@ -0,0 +1,10 @@
1
+package com.example.wholeestate.common;
2
+
3
+/**
4
+ * @author weiximei
5
+ */
6
+public class Constant {
7
+
8
+
9
+    public static final String REQUEST_ERROR = "500";
10
+}

+ 66
- 0
whole-estate/src/main/java/com/example/wholeestate/common/resp/ResponseBean.java 查看文件

@@ -0,0 +1,66 @@
1
+package com.example.wholeestate.common.resp;
2
+
3
+import java.io.Serializable;
4
+
5
+/**
6
+ * 接口统一状态返回BEAN.
7
+ */
8
+public class ResponseBean<T> implements Serializable {
9
+
10
+    private static final long serialVersionUID = 3593827217136880822L;
11
+
12
+    public static final String CODE_SUCCESS =  "0";
13
+    public static final String CODE_FAIL =  "1";
14
+
15
+    private String code = "0";
16
+
17
+    private String message = "成功";
18
+
19
+    private T data;
20
+
21
+    public ResponseBean() {
22
+    }
23
+
24
+    public void addDefaultError() {
25
+        this.code = "1";
26
+        this.message = "失败";
27
+    }
28
+
29
+    public void addError(String message) {
30
+        this.code = "1";
31
+        this.message = message;
32
+    }
33
+
34
+    public void addError(String code, String message) {
35
+        this.code = code;
36
+        this.message = message;
37
+    }
38
+
39
+    public void addSuccess(String message) {
40
+        this.code = "0";
41
+        this.message = message;
42
+    }
43
+
44
+    public void addSuccess(T data) {
45
+        this.code = "0";
46
+        this.message = "成功";
47
+        this.data = data;
48
+    }
49
+
50
+    public T getData() {
51
+        return this.data;
52
+    }
53
+
54
+    public String getCode() {
55
+        return this.code;
56
+    }
57
+
58
+    public String getMessage() {
59
+        return this.message;
60
+    }
61
+
62
+    @Override
63
+    public String toString() {
64
+        return "ResponseBaseBean [code=" + this.code + ", message=" + this.message + ", data=" + this.data + "]";
65
+    }
66
+}

+ 39
- 0
whole-estate/src/main/java/com/example/wholeestate/common/session/UserElement.java 查看文件

@@ -0,0 +1,39 @@
1
+package com.example.wholeestate.common.session;
2
+
3
+import lombok.AllArgsConstructor;
4
+import lombok.Data;
5
+import lombok.NoArgsConstructor;
6
+
7
+import java.io.Serializable;
8
+
9
+/**
10
+ * session 基础类
11
+ */
12
+@Data
13
+@AllArgsConstructor
14
+@NoArgsConstructor
15
+public class UserElement implements Serializable {
16
+
17
+    /** 用户唯一标识符 **/
18
+    private Integer id;
19
+
20
+    /** 小区id **/
21
+    private Integer communityId;
22
+
23
+    /** 用户名 **/
24
+    private String userName;
25
+
26
+    /** 登陆名 **/
27
+    private String loginName;
28
+
29
+    /** 邮箱 **/
30
+    private String email;
31
+
32
+    /** 用户状态 **/
33
+    private String status;
34
+
35
+    /** 登陆类型 **/
36
+    private String loginType;
37
+
38
+
39
+}

+ 24
- 0
whole-estate/src/main/java/com/example/wholeestate/config/MyBatisPulsConfig.java 查看文件

@@ -0,0 +1,24 @@
1
+package com.example.wholeestate.config;
2
+
3
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
4
+import org.mybatis.spring.annotation.MapperScan;
5
+import org.springframework.context.annotation.Bean;
6
+import org.springframework.context.annotation.Configuration;
7
+
8
+/**
9
+ * mybatis-plus 配置
10
+ * @author weiximei
11
+ */
12
+@Configuration
13
+@MapperScan("com.example.**.dao")
14
+public class MyBatisPulsConfig {
15
+
16
+    /**
17
+     * 分页插件
18
+     */
19
+    @Bean
20
+    public PaginationInterceptor paginationInterceptor() {
21
+        return new PaginationInterceptor();
22
+    }
23
+
24
+}

+ 22
- 0
whole-estate/src/main/java/com/example/wholeestate/config/SessionConfig.java 查看文件

@@ -0,0 +1,22 @@
1
+package com.example.wholeestate.config;
2
+
3
+import org.springframework.context.annotation.Bean;
4
+import org.springframework.context.annotation.Configuration;
5
+//import org.springframework.session.jdbc.config.annotation.web.http.EnableJdbcHttpSession;
6
+//import org.springframework.session.web.http.HeaderHttpSessionIdResolver;
7
+//import org.springframework.session.web.http.HttpSessionIdResolver;
8
+
9
+/**
10
+ * session 配置
11
+ * @author weiximei
12
+ */
13
+// @Configuration
14
+// @EnableJdbcHttpSession
15
+public class SessionConfig {
16
+
17
+//    @Bean
18
+//    public HttpSessionIdResolver httpSessionIdResolver() {
19
+//        return HeaderHttpSessionIdResolver.xAuthToken();
20
+//    }
21
+
22
+}

+ 40
- 0
whole-estate/src/main/java/com/example/wholeestate/config/Swagger2Config.java 查看文件

@@ -0,0 +1,40 @@
1
+package com.example.wholeestate.config;
2
+
3
+import org.springframework.context.annotation.Bean;
4
+import org.springframework.context.annotation.Configuration;
5
+import springfox.documentation.builders.ApiInfoBuilder;
6
+import springfox.documentation.builders.PathSelectors;
7
+import springfox.documentation.builders.RequestHandlerSelectors;
8
+import springfox.documentation.service.ApiInfo;
9
+import springfox.documentation.service.Contact;
10
+import springfox.documentation.spi.DocumentationType;
11
+import springfox.documentation.spring.web.plugins.Docket;
12
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
13
+
14
+/**
15
+ * @author FXF
16
+ * @date 2018-09-27
17
+ */
18
+@Configuration
19
+@EnableSwagger2
20
+public class Swagger2Config {
21
+    @Bean
22
+    public Docket docket(){
23
+        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
24
+                .apis(RequestHandlerSelectors.basePackage("com.example.wholeestate.controller"))
25
+                .paths(PathSelectors.any()).build();
26
+    }
27
+    //构建api文档的详细信息函数
28
+    private ApiInfo apiInfo(){
29
+        return new ApiInfoBuilder()
30
+                //页面标题
31
+                .title("全楼盘 的 RESTful API")
32
+                //创建人
33
+                .contact(new Contact("fuxingfan","","fuxingfan@dingtalk.com"))
34
+                //版本号
35
+                .version("1.0")
36
+                //描述
37
+                .description("API 描述")
38
+                .build();
39
+    }
40
+}

+ 27
- 0
whole-estate/src/main/java/com/example/wholeestate/config/WebFilterConfig.java 查看文件

@@ -0,0 +1,27 @@
1
+package com.example.wholeestate.config;
2
+
3
+import com.example.wholeestate.filter.CharacterEncodingFilter;
4
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
5
+import org.springframework.context.annotation.Bean;
6
+import org.springframework.context.annotation.Configuration;
7
+
8
+import java.util.Arrays;
9
+
10
+/**
11
+ * 配置 filter
12
+ */
13
+@Configuration
14
+public class WebFilterConfig {
15
+
16
+    @Bean
17
+    public FilterRegistrationBean encodingFilter() {
18
+
19
+        FilterRegistrationBean filter = new FilterRegistrationBean();
20
+        CharacterEncodingFilter webEncodingFilter = new CharacterEncodingFilter();
21
+        filter.setFilter(webEncodingFilter);
22
+        filter.setUrlPatterns(Arrays.asList("/*"));
23
+
24
+        return filter;
25
+    }
26
+
27
+}

+ 31
- 0
whole-estate/src/main/java/com/example/wholeestate/controller/TestController.java 查看文件

@@ -0,0 +1,31 @@
1
+package com.example.wholeestate.controller;
2
+
3
+import com.example.wholeestate.common.resp.ResponseBean;
4
+import com.google.common.collect.Maps;
5
+import io.swagger.annotations.Api;
6
+import io.swagger.annotations.ApiOperation;
7
+import org.springframework.web.bind.annotation.RequestMapping;
8
+import org.springframework.web.bind.annotation.RequestMethod;
9
+import org.springframework.web.bind.annotation.RestController;
10
+
11
+import javax.servlet.http.HttpSession;
12
+import java.util.Map;
13
+
14
+@RestController
15
+@RequestMapping("/")
16
+@Api(value = "测试Controller", description = "测试Controller")
17
+public class TestController {
18
+
19
+    @RequestMapping(value = "test",method = RequestMethod.GET)
20
+    @ApiOperation(value = "测试请求", notes = "测试请求")
21
+    public ResponseBean test(HttpSession session) {
22
+        ResponseBean responseBean = new ResponseBean();
23
+        Map<String, Object> map = Maps.newHashMap();
24
+        map.put("message", "测试成功!");
25
+        map.put("token", session.getId());
26
+        responseBean.addSuccess(map);
27
+        return responseBean;
28
+    }
29
+
30
+
31
+}

+ 58
- 0
whole-estate/src/main/java/com/example/wholeestate/exception/ExceptionHandleAdice.java 查看文件

@@ -0,0 +1,58 @@
1
+package com.example.wholeestate.exception;
2
+
3
+import com.example.wholeestate.common.Constant;
4
+import com.example.wholeestate.common.resp.ResponseBean;
5
+import lombok.extern.slf4j.Slf4j;
6
+import org.springframework.validation.ObjectError;
7
+import org.springframework.web.bind.MethodArgumentNotValidException;
8
+import org.springframework.web.bind.annotation.ControllerAdvice;
9
+import org.springframework.web.bind.annotation.ExceptionHandler;
10
+import org.springframework.web.bind.annotation.ResponseBody;
11
+
12
+import java.util.List;
13
+
14
+/**
15
+ * 统一异常出口
16
+ * @author weiximei
17
+ */
18
+@ControllerAdvice
19
+@ResponseBody
20
+@Slf4j
21
+public class ExceptionHandleAdice {
22
+
23
+
24
+    @ExceptionHandler(Exception.class)
25
+    public ResponseBean handleException(Exception e){
26
+        log.error(e.getMessage(),e);
27
+        ResponseBean response = new ResponseBean();
28
+        response.addError(Constant.REQUEST_ERROR,"系统异常,请稍后重试!");
29
+        return response;
30
+    }
31
+
32
+
33
+    @ExceptionHandler(WholeEstateException.class)
34
+    public ResponseBean handleException(WholeEstateException e) {
35
+        log.error(e.getMessage(),e);
36
+        ResponseBean response = new ResponseBean();
37
+        response.addError(e.getMessage());
38
+        return response;
39
+    }
40
+
41
+
42
+    @ExceptionHandler(MethodArgumentNotValidException.class)
43
+    public ResponseBean handlelllewgalParamException(MethodArgumentNotValidException e){
44
+        ResponseBean response = new ResponseBean();
45
+
46
+        List<ObjectError> errors  =e.getBindingResult().getAllErrors();
47
+        String message = "参数不合法";
48
+        if (errors.size() >0) {
49
+            message = errors.get(0).getDefaultMessage();
50
+        }
51
+
52
+        response.addError(message);
53
+
54
+        return response;
55
+    }
56
+
57
+
58
+}

+ 18
- 0
whole-estate/src/main/java/com/example/wholeestate/exception/WholeEstateException.java 查看文件

@@ -0,0 +1,18 @@
1
+package com.example.wholeestate.exception;
2
+
3
+import org.springframework.web.bind.annotation.ControllerAdvice;
4
+
5
+/**
6
+ * 业务异常类
7
+ * @author weixmei
8
+ */
9
+public class WholeEstateException extends RuntimeException {
10
+
11
+    public WholeEstateException() {
12
+    }
13
+
14
+    public WholeEstateException(String message) {
15
+        super(message);
16
+    }
17
+
18
+}

+ 29
- 0
whole-estate/src/main/java/com/example/wholeestate/filter/CharacterEncodingFilter.java 查看文件

@@ -0,0 +1,29 @@
1
+package com.example.wholeestate.filter;
2
+
3
+import javax.servlet.*;
4
+import javax.servlet.annotation.WebFilter;
5
+import javax.servlet.http.HttpServletRequest;
6
+import javax.servlet.http.HttpServletResponse;
7
+import java.io.IOException;
8
+
9
+/**
10
+ * 编码过滤器
11
+ */
12
+public class CharacterEncodingFilter implements Filter {
13
+    @Override
14
+    public void init(FilterConfig filterConfig) throws ServletException {
15
+    }
16
+
17
+    @Override
18
+    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
19
+        HttpServletRequest request = (HttpServletRequest) servletRequest;
20
+        HttpServletResponse response = (HttpServletResponse) servletResponse;
21
+        request.setCharacterEncoding("UTF-8");
22
+        response.setCharacterEncoding("UTF-8");
23
+
24
+        filterChain.doFilter(request , response);
25
+    }
26
+    @Override
27
+    public void destroy() {
28
+    }
29
+}

+ 34
- 0
whole-estate/src/main/resources/application.yml 查看文件

@@ -0,0 +1,34 @@
1
+server:
2
+  port: 8080
3
+spring:
4
+  application:
5
+    name: whole-estate
6
+  datasource:
7
+    username: whole-estate
8
+    password: whole-estate
9
+    url: jdbc:mysql://47.101.36.130:3306/whole-estate?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
10
+    driver-class-name: com.mysql.jdbc.Driver
11
+    initial-size: 10 # 初始化连接数
12
+    max-active: 20 # 最大连接数
13
+    min-idle: 8 # 最小空闲数
14
+    max-idle: 8 # 最大空闲数
15
+  servlet:
16
+    multipart:
17
+      max-file-size: 10MB
18
+      max-request-size: 50MB
19
+  devtools:
20
+    restart:
21
+      enabled: true #热部署生效
22
+      additional-paths: src/main/java #设置重启的目录
23
+#  session:
24
+#    store-type: jdbc
25
+mybatis-plus:
26
+  mapper-locations: classpath:mapper/*.xml
27
+  type-aliases-package: com.example.wholeestate.model
28
+
29
+# 打印sql
30
+logging:
31
+  level:
32
+    com.example.wholeestate.dao: debug
33
+
34
+

+ 31
- 0
whole-estate/src/main/resources/log4j.properties 查看文件

@@ -0,0 +1,31 @@
1
+log4j.rootLogger=info,A1,R
2
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
3
+log4j.appender.A1.Target=System.out
4
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
5
+log4j.appender.A1.layout.ConversionPattern=%-5p%x [%t] %d - %c %m%n  
6
+
7
+log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
8
+log4j.appender.R.File=../logs/resold_admin_.log
9
+log4j.appender.R.layout=org.apache.log4j.PatternLayout
10
+log4j.appender.R.Append = true
11
+log4j.appender.R.ImmediateFlush = true
12
+log4j.appender.R.DatePattern = '.' yyyy - MM - dd '.txt'
13
+log4j.appender.R.layout.ConversionPattern=%-5p%x [%t] %d -%c %m%n
14
+
15
+#log4j.logger.com.ibatis=DEBUG
16
+log4j.logger.org.springframework.transaction.support.TransactionSynchronizationManager = INFO
17
+log4j.logger.java.sql.Connection=DEBUG
18
+log4j.logger.java.sql.Statement=DEBUG
19
+log4j.logger.java.sql.PreparedStatement=DEBUG
20
+
21
+###############Log4j 4 SQL Output start################# #DEBUG
22
+log4j.logger.com.**.dao=INFO
23
+log4j.logger.com.springframework=DEBUG
24
+log4j.logger.com.ibatis=DEBUG  
25
+log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG  
26
+log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG  
27
+log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
28
+log4j.logger.java.sql.ResultSet=DEBUG
29
+log4j.logger.org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl=DEBUG
30
+log4j.logger.java.sql=DEBUG,CONSOLE 
31
+###############Log4j 4 SQL Output end###################

+ 16
- 0
whole-estate/src/test/java/com/example/wholeestate/WholeEstateApplicationTests.java 查看文件

@@ -0,0 +1,16 @@
1
+package com.example.wholeestate;
2
+
3
+import org.junit.Test;
4
+import org.junit.runner.RunWith;
5
+import org.springframework.boot.test.context.SpringBootTest;
6
+import org.springframework.test.context.junit4.SpringRunner;
7
+
8
+@RunWith(SpringRunner.class)
9
+@SpringBootTest
10
+public class WholeEstateApplicationTests {
11
+
12
+    @Test
13
+    public void contextLoads() {
14
+    }
15
+
16
+}