Browse Source

支持MySQL8.0

Mark 5 years ago
parent
commit
9fd0d5e502

+ 1 - 0
.gitignore

1
# Compiled class file
1
# Compiled class file
2
*.class
2
*.class
3
target
3
4
4
# Log file
5
# Log file
5
*.log
6
*.log

+ 13 - 13
db/mysql.sql

9
  `icon` varchar(50) COMMENT '菜单图标',
9
  `icon` varchar(50) COMMENT '菜单图标',
10
  `order_num` int COMMENT '排序',
10
  `order_num` int COMMENT '排序',
11
  PRIMARY KEY (`menu_id`)
11
  PRIMARY KEY (`menu_id`)
12
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='菜单管理';
12
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='菜单管理';
13
13
14
-- 系统用户
14
-- 系统用户
15
CREATE TABLE `sys_user` (
15
CREATE TABLE `sys_user` (
24
  `create_time` datetime COMMENT '创建时间',
24
  `create_time` datetime COMMENT '创建时间',
25
  PRIMARY KEY (`user_id`),
25
  PRIMARY KEY (`user_id`),
26
  UNIQUE INDEX (`username`)
26
  UNIQUE INDEX (`username`)
27
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统用户';
27
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='系统用户';
28
28
29
-- 系统用户Token
29
-- 系统用户Token
30
CREATE TABLE `sys_user_token` (
30
CREATE TABLE `sys_user_token` (
34
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
34
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
35
  PRIMARY KEY (`user_id`),
35
  PRIMARY KEY (`user_id`),
36
  UNIQUE KEY `token` (`token`)
36
  UNIQUE KEY `token` (`token`)
37
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统用户Token';
37
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='系统用户Token';
38
38
39
-- 系统验证码
39
-- 系统验证码
40
CREATE TABLE `sys_captcha` (
40
CREATE TABLE `sys_captcha` (
42
  `code` varchar(6) NOT NULL COMMENT '验证码',
42
  `code` varchar(6) NOT NULL COMMENT '验证码',
43
  `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
43
  `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
44
  PRIMARY KEY (`uuid`)
44
  PRIMARY KEY (`uuid`)
45
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统验证码';
45
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='系统验证码';
46
46
47
-- 角色
47
-- 角色
48
CREATE TABLE `sys_role` (
48
CREATE TABLE `sys_role` (
52
  `create_user_id` bigint(20) COMMENT '创建者ID',
52
  `create_user_id` bigint(20) COMMENT '创建者ID',
53
  `create_time` datetime COMMENT '创建时间',
53
  `create_time` datetime COMMENT '创建时间',
54
  PRIMARY KEY (`role_id`)
54
  PRIMARY KEY (`role_id`)
55
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色';
55
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='角色';
56
56
57
-- 用户与角色对应关系
57
-- 用户与角色对应关系
58
CREATE TABLE `sys_user_role` (
58
CREATE TABLE `sys_user_role` (
60
  `user_id` bigint COMMENT '用户ID',
60
  `user_id` bigint COMMENT '用户ID',
61
  `role_id` bigint COMMENT '角色ID',
61
  `role_id` bigint COMMENT '角色ID',
62
  PRIMARY KEY (`id`)
62
  PRIMARY KEY (`id`)
63
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户与角色对应关系';
63
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='用户与角色对应关系';
64
64
65
-- 角色与菜单对应关系
65
-- 角色与菜单对应关系
66
CREATE TABLE `sys_role_menu` (
66
CREATE TABLE `sys_role_menu` (
68
  `role_id` bigint COMMENT '角色ID',
68
  `role_id` bigint COMMENT '角色ID',
69
  `menu_id` bigint COMMENT '菜单ID',
69
  `menu_id` bigint COMMENT '菜单ID',
70
  PRIMARY KEY (`id`)
70
  PRIMARY KEY (`id`)
71
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色与菜单对应关系';
71
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='角色与菜单对应关系';
72
72
73
-- 系统配置信息
73
-- 系统配置信息
74
CREATE TABLE `sys_config` (
74
CREATE TABLE `sys_config` (
79
	`remark` varchar(500) COMMENT '备注',
79
	`remark` varchar(500) COMMENT '备注',
80
	PRIMARY KEY (`id`),
80
	PRIMARY KEY (`id`),
81
	UNIQUE INDEX (`param_key`)
81
	UNIQUE INDEX (`param_key`)
82
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8 COMMENT='系统配置信息表';
82
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='系统配置信息表';
83
83
84
84
85
-- 系统日志
85
-- 系统日志
93
  `ip` varchar(64) COMMENT 'IP地址',
93
  `ip` varchar(64) COMMENT 'IP地址',
94
  `create_date` datetime COMMENT '创建时间',
94
  `create_date` datetime COMMENT '创建时间',
95
  PRIMARY KEY (`id`)
95
  PRIMARY KEY (`id`)
96
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8 COMMENT='系统日志';
96
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='系统日志';
97
97
98
98
99
-- 文件上传
99
-- 文件上传
102
  `url` varchar(200) COMMENT 'URL地址',
102
  `url` varchar(200) COMMENT 'URL地址',
103
  `create_date` datetime COMMENT '创建时间',
103
  `create_date` datetime COMMENT '创建时间',
104
  PRIMARY KEY (`id`)
104
  PRIMARY KEY (`id`)
105
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8 COMMENT='文件上传';
105
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='文件上传';
106
106
107
107
108
-- 定时任务
108
-- 定时任务
115
  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
115
  `remark` varchar(255) DEFAULT NULL COMMENT '备注',
116
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
116
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
117
  PRIMARY KEY (`job_id`)
117
  PRIMARY KEY (`job_id`)
118
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='定时任务';
118
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='定时任务';
119
119
120
-- 定时任务日志
120
-- 定时任务日志
121
CREATE TABLE `schedule_job_log` (
121
CREATE TABLE `schedule_job_log` (
129
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
129
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
130
  PRIMARY KEY (`log_id`),
130
  PRIMARY KEY (`log_id`),
131
  KEY `job_id` (`job_id`)
131
  KEY `job_id` (`job_id`)
132
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='定时任务日志';
132
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='定时任务日志';
133
133
134
134
135
135
142
  `create_time` datetime COMMENT '创建时间',
142
  `create_time` datetime COMMENT '创建时间',
143
  PRIMARY KEY (`user_id`),
143
  PRIMARY KEY (`user_id`),
144
  UNIQUE INDEX (`username`)
144
  UNIQUE INDEX (`username`)
145
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户';
145
) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8mb4 COMMENT='用户';
146
146
147
147
148
148

+ 4 - 9
pom.xml

11
	<parent>
11
	<parent>
12
		<groupId>org.springframework.boot</groupId>
12
		<groupId>org.springframework.boot</groupId>
13
		<artifactId>spring-boot-starter-parent</artifactId>
13
		<artifactId>spring-boot-starter-parent</artifactId>
14
		<version>2.1.3.RELEASE</version>
14
		<version>2.1.7.RELEASE</version>
15
	</parent>
15
	</parent>
16
16
17
	<properties>
17
	<properties>
18
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
19
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
19
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
20
		<java.version>1.8</java.version>
20
		<java.version>1.8</java.version>
21
		<mybatisplus.version>3.0.7.1</mybatisplus.version>
22
		<mysql.version>5.1.38</mysql.version>
21
		<mybatisplus.version>3.1.2</mybatisplus.version>
22
		<mysql.version>8.0.16</mysql.version>
23
		<mssql.version>4.0</mssql.version>
23
		<mssql.version>4.0</mssql.version>
24
		<oracle.version>11.2.0.3</oracle.version>
24
		<oracle.version>11.2.0.3</oracle.version>
25
		<druid.version>1.1.13</druid.version>
25
		<druid.version>1.1.13</druid.version>
37
		<qcloud.cos.version>4.4</qcloud.cos.version>
37
		<qcloud.cos.version>4.4</qcloud.cos.version>
38
		<swagger.version>2.7.0</swagger.version>
38
		<swagger.version>2.7.0</swagger.version>
39
		<joda.time.version>2.9.9</joda.time.version>
39
		<joda.time.version>2.9.9</joda.time.version>
40
		<fastjson.version>1.2.47</fastjson.version>
40
		<fastjson.version>1.2.58</fastjson.version>
41
		<hutool.version>4.1.1</hutool.version>
41
		<hutool.version>4.1.1</hutool.version>
42
		<lombok.version>1.18.4</lombok.version>
42
		<lombok.version>1.18.4</lombok.version>
43
43
92
				</exclusion>
92
				</exclusion>
93
			</exclusions>
93
			</exclusions>
94
		</dependency>
94
		</dependency>
95
		<dependency>
96
			<groupId>com.baomidou</groupId>
97
			<artifactId>mybatis-plus</artifactId>
98
			<version>${mybatisplus.version}</version>
99
		</dependency>
100
		<dependency>
95
		<dependency>
101
			<groupId>mysql</groupId>
96
			<groupId>mysql</groupId>
102
			<artifactId>mysql-connector-java</artifactId>
97
			<artifactId>mysql-connector-java</artifactId>

+ 0 - 71
src/main/java/io/renren/config/DemoConfig.java

1
//package io.renren.config;
2
//
3
//import com.google.gson.Gson;
4
//import io.renren.common.utils.HttpContextUtils;
5
//import io.renren.common.utils.R;
6
//import org.apache.http.HttpStatus;
7
//import org.springframework.boot.web.servlet.FilterRegistrationBean;
8
//import org.springframework.context.annotation.Bean;
9
//import org.springframework.context.annotation.Configuration;
10
//
11
//import javax.servlet.*;
12
//import javax.servlet.FilterConfig;
13
//import javax.servlet.http.HttpServletRequest;
14
//import javax.servlet.http.HttpServletResponse;
15
//import java.io.IOException;
16
//
17
//@Configuration
18
//public class DemoConfig {
19
//
20
//    @Bean
21
//    public FilterRegistrationBean demoFilterRegistration() {
22
//        FilterRegistrationBean registration = new FilterRegistrationBean();
23
//        registration.setDispatcherTypes(DispatcherType.REQUEST);
24
//        registration.setFilter(new DemoFilter());
25
//        registration.addUrlPatterns("/sys/*");
26
//        registration.setName("demoFilter");
27
//        return registration;
28
//    }
29
//
30
//    class DemoFilter implements Filter{
31
//
32
//        @Override
33
//        public void init(FilterConfig filterConfig) throws ServletException {
34
//
35
//        }
36
//
37
//        @Override
38
//        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
39
//            HttpServletRequest request = (HttpServletRequest)servletRequest;
40
//            HttpServletResponse response = (HttpServletResponse) servletResponse;
41
//
42
//            if(request.getMethod().equalsIgnoreCase("OPTIONS")){
43
//                filterChain.doFilter(servletRequest, servletResponse);
44
//                return;
45
//            }
46
//
47
//            String uri = request.getRequestURI();
48
//            String[] filters = new String[]{"save","update","delete","password"};
49
//            //判断是否包含
50
//            for(String filter : filters){
51
//                if(uri.indexOf(filter) != -1){
52
//                    R r = R.error(HttpStatus.SC_OK, "测试环境,不能操作!");
53
//                    String json = new Gson().toJson(r);
54
//
55
//                    response.setContentType("application/json;charset=utf-8");
56
//                    response.setHeader("Access-Control-Allow-Credentials", "true");
57
//                    response.setHeader("Access-Control-Allow-Origin", HttpContextUtils.getOrigin());
58
//                    response.getWriter().print(json);
59
//                    return;
60
//                }
61
//            }
62
//
63
//            filterChain.doFilter(servletRequest, servletResponse);
64
//        }
65
//
66
//        @Override
67
//        public void destroy() {
68
//
69
//        }
70
//    }
71
//}

+ 1 - 1
src/main/java/io/renren/config/ShiroConfig.java

40
    }
40
    }
41
41
42
    @Bean("shiroFilter")
42
    @Bean("shiroFilter")
43
    public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {
43
    public ShiroFilterFactoryBean shiroFilter(SecurityManager securityManager) {
44
        ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
44
        ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();
45
        shiroFilter.setSecurityManager(securityManager);
45
        shiroFilter.setSecurityManager(securityManager);
46
46

+ 1 - 1
src/main/resources/application-dev.yml

3
        type: com.alibaba.druid.pool.DruidDataSource
3
        type: com.alibaba.druid.pool.DruidDataSource
4
        druid:
4
        druid:
5
            driver-class-name: com.mysql.jdbc.Driver
5
            driver-class-name: com.mysql.jdbc.Driver
6
            url: jdbc:mysql://localhost:3306/renren_fast?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
6
            url: jdbc:mysql://localhost:3306/renren_fast?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
7
            username: renren
7
            username: renren
8
            password: 123456
8
            password: 123456
9
            initial-size: 10
9
            initial-size: 10

+ 1 - 1
src/main/resources/application-prod.yml

3
        type: com.alibaba.druid.pool.DruidDataSource
3
        type: com.alibaba.druid.pool.DruidDataSource
4
        druid:
4
        druid:
5
            driver-class-name: com.mysql.jdbc.Driver
5
            driver-class-name: com.mysql.jdbc.Driver
6
            url: jdbc:mysql://localhost:3306/renren_fast?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
6
            url: jdbc:mysql://localhost:3306/renren_fast?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
7
            username: renren
7
            username: renren
8
            password: 123456
8
            password: 123456
9
            initial-size: 10
9
            initial-size: 10

+ 1 - 1
src/main/resources/application-test.yml

3
        type: com.alibaba.druid.pool.DruidDataSource
3
        type: com.alibaba.druid.pool.DruidDataSource
4
        druid:
4
        druid:
5
            driver-class-name: com.mysql.jdbc.Driver
5
            driver-class-name: com.mysql.jdbc.Driver
6
            url: jdbc:mysql://localhost:3306/renren_fast?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false
6
            url: jdbc:mysql://localhost:3306/renren_fast?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
7
            username: renren
7
            username: renren
8
            password: 123456
8
            password: 123456
9
            initial-size: 10
9
            initial-size: 10