diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a2a3040
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,31 @@
+HELP.md
+target/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**
+!**/src/test/**
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+
+### VS Code ###
+.vscode/
diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java
new file mode 100644
index 0000000..2281075
--- /dev/null
+++ b/.mvn/wrapper/MavenWrapperDownloader.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2012-2019 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import java.net.*;
+import java.io.*;
+import java.nio.channels.*;
+import java.util.Properties;
+
+public class MavenWrapperDownloader {
+
+ private static final String WRAPPER_VERSION = "0.5.5";
+ /**
+ * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
+ */
+ private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
+
+ /**
+ * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
+ * use instead of the default one.
+ */
+ private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
+ ".mvn/wrapper/maven-wrapper.properties";
+
+ /**
+ * Path where the maven-wrapper.jar will be saved to.
+ */
+ private static final String MAVEN_WRAPPER_JAR_PATH =
+ ".mvn/wrapper/maven-wrapper.jar";
+
+ /**
+ * Name of the property which should be used to override the default download url for the wrapper.
+ */
+ private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
+
+ public static void main(String args[]) {
+ System.out.println("- Downloader started");
+ File baseDirectory = new File(args[0]);
+ System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
+
+ // If the maven-wrapper.properties exists, read it and check if it contains a custom
+ // wrapperUrl parameter.
+ File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
+ String url = DEFAULT_DOWNLOAD_URL;
+ if(mavenWrapperPropertyFile.exists()) {
+ FileInputStream mavenWrapperPropertyFileInputStream = null;
+ try {
+ mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
+ Properties mavenWrapperProperties = new Properties();
+ mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
+ url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
+ } catch (IOException e) {
+ System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
+ } finally {
+ try {
+ if(mavenWrapperPropertyFileInputStream != null) {
+ mavenWrapperPropertyFileInputStream.close();
+ }
+ } catch (IOException e) {
+ // Ignore ...
+ }
+ }
+ }
+ System.out.println("- Downloading from: " + url);
+
+ File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
+ if(!outputFile.getParentFile().exists()) {
+ if(!outputFile.getParentFile().mkdirs()) {
+ System.out.println(
+ "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
+ }
+ }
+ System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
+ try {
+ downloadFileFromURL(url, outputFile);
+ System.out.println("Done");
+ System.exit(0);
+ } catch (Throwable e) {
+ System.out.println("- Error downloading");
+ e.printStackTrace();
+ System.exit(1);
+ }
+ }
+
+ private static void downloadFileFromURL(String urlString, File destination) throws Exception {
+ if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
+ String username = System.getenv("MVNW_USERNAME");
+ char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
+ Authenticator.setDefault(new Authenticator() {
+ @Override
+ protected PasswordAuthentication getPasswordAuthentication() {
+ return new PasswordAuthentication(username, password);
+ }
+ });
+ }
+ URL website = new URL(urlString);
+ ReadableByteChannel rbc;
+ rbc = Channels.newChannel(website.openStream());
+ FileOutputStream fos = new FileOutputStream(destination);
+ fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
+ fos.close();
+ rbc.close();
+ }
+
+}
diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar
new file mode 100644
index 0000000..0d5e649
Binary files /dev/null and b/.mvn/wrapper/maven-wrapper.jar differ
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
new file mode 100644
index 0000000..7d59a01
--- /dev/null
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1,2 @@
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar
diff --git a/README.md b/README.md
index 414aee6..5de5d2d 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,15 @@
-# git__1
+# git__1 电影评荐系统
+
+开发语言:Java
+框架:springboot
+JDK版本:JDK1.8
+服务器:tomcat7
+数据库:mysql 5.7
+数据库工具:Navicat11
+开发软件:eclipse/myeclipse/idea
+Maven包:Maven3.3.9
+
+
+后台路径地址:localhost:8080/项目名称/admin/dist/index.html
+前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)
diff --git a/db/springboots8h13.sql b/db/springboots8h13.sql
new file mode 100644
index 0000000..6f0ea42
--- /dev/null
+++ b/db/springboots8h13.sql
@@ -0,0 +1,364 @@
+-- MySQL dump 10.13 Distrib 5.7.31, for Linux (x86_64)
+--
+-- Host: localhost Database: springboots8h13
+-- ------------------------------------------------------
+-- Server version 5.7.31
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Current Database: `springboots8h13`
+--
+
+/*!40000 DROP DATABASE IF EXISTS `springboots8h13`*/;
+
+CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springboots8h13` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
+
+USE `springboots8h13`;
+
+--
+-- Table structure for table `config`
+--
+
+DROP TABLE IF EXISTS `config`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `config` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `name` varchar(100) NOT NULL COMMENT '配置参数名称',
+ `value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `config`
+--
+
+LOCK TABLES `config` WRITE;
+/*!40000 ALTER TABLE `config` DISABLE KEYS */;
+INSERT INTO `config` VALUES (1,'picture1','upload/1649230295789.jpg'),(2,'picture2','upload/1649230309650.jpg'),(3,'picture3','upload/1649230668794.jpeg');
+/*!40000 ALTER TABLE `config` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dianyingleixing`
+--
+
+DROP TABLE IF EXISTS `dianyingleixing`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `dianyingleixing` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `dianyingleixing` varchar(200) NOT NULL COMMENT '电影类型',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `dianyingleixing` (`dianyingleixing`)
+) ENGINE=InnoDB AUTO_INCREMENT=1649230547478 DEFAULT CHARSET=utf8 COMMENT='电影类型';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `dianyingleixing`
+--
+
+LOCK TABLES `dianyingleixing` WRITE;
+/*!40000 ALTER TABLE `dianyingleixing` DISABLE KEYS */;
+INSERT INTO `dianyingleixing` VALUES (21,'2022-04-06 07:27:16','电影类型1'),(22,'2022-04-06 07:27:16','电影类型2'),(23,'2022-04-06 07:27:16','电影类型3'),(24,'2022-04-06 07:27:16','电影类型4'),(25,'2022-04-06 07:27:16','电影类型5'),(26,'2022-04-06 07:27:16','电影类型6'),(1649230547477,'2022-04-06 07:35:46','喜剧片');
+/*!40000 ALTER TABLE `dianyingleixing` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dianyingpingfen`
+--
+
+DROP TABLE IF EXISTS `dianyingpingfen`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `dianyingpingfen` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `dianyingmingcheng` varchar(200) DEFAULT NULL COMMENT '电影名称',
+ `dianyingleixing` varchar(200) DEFAULT NULL COMMENT '电影类型',
+ `dianyingpingfen` varchar(200) DEFAULT NULL COMMENT '电影评分',
+ `pingfenriqi` date DEFAULT NULL COMMENT '评分日期',
+ `yonghuming` varchar(200) DEFAULT NULL COMMENT '用户名',
+ `crossuserid` bigint(20) DEFAULT NULL COMMENT '跨表用户id',
+ `crossrefid` bigint(20) DEFAULT NULL COMMENT '跨表主键id',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1649230721835 DEFAULT CHARSET=utf8 COMMENT='电影评分';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `dianyingpingfen`
+--
+
+LOCK TABLES `dianyingpingfen` WRITE;
+/*!40000 ALTER TABLE `dianyingpingfen` DISABLE KEYS */;
+INSERT INTO `dianyingpingfen` VALUES (41,'2022-04-06 07:27:16','电影名称1','电影类型1','1','2022-04-06','用户名1',1,1),(42,'2022-04-06 07:27:16','电影名称2','电影类型2','1','2022-04-06','用户名2',2,2),(43,'2022-04-06 07:27:16','电影名称3','电影类型3','1','2022-04-06','用户名3',3,3),(44,'2022-04-06 07:27:16','电影名称4','电影类型4','5','2022-04-06','用户名4',4,4),(45,'2022-04-06 07:27:16','电影名称5','电影类型5','1','2022-04-06','用户名5',5,5),(46,'2022-04-06 07:27:16','电影名称6','电影类型6','1','2022-04-06','用户名6',6,6),(1649230721834,'2022-04-06 07:38:41','你好,李焕英','喜剧片','9','2022-04-06','1',1649230458549,1649230606661);
+/*!40000 ALTER TABLE `dianyingpingfen` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `dianyingxinxi`
+--
+
+DROP TABLE IF EXISTS `dianyingxinxi`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `dianyingxinxi` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `dianyingmingcheng` varchar(200) NOT NULL COMMENT '电影名称',
+ `dianyingleixing` varchar(200) NOT NULL COMMENT '电影类型',
+ `haibao` varchar(200) DEFAULT NULL COMMENT '海报',
+ `daoyan` varchar(200) DEFAULT NULL COMMENT '导演',
+ `zhuyan` varchar(200) DEFAULT NULL COMMENT '主演',
+ `zhipiandiqu` varchar(200) DEFAULT NULL COMMENT '制片地区',
+ `yuyan` varchar(200) DEFAULT NULL COMMENT '语言',
+ `pingfen` float DEFAULT NULL COMMENT '评分',
+ `shangyingriqi` date DEFAULT NULL COMMENT '上映日期',
+ `pianzhang` varchar(200) DEFAULT NULL COMMENT '片长',
+ `dianyingjieshao` longtext COMMENT '电影介绍',
+ `dianyingbofang` varchar(200) DEFAULT NULL COMMENT '电影播放',
+ `clicktime` datetime DEFAULT NULL COMMENT '最近点击时间',
+ `clicknum` int(11) DEFAULT '0' COMMENT '点击次数',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1649230606662 DEFAULT CHARSET=utf8 COMMENT='电影信息';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `dianyingxinxi`
+--
+
+LOCK TABLES `dianyingxinxi` WRITE;
+/*!40000 ALTER TABLE `dianyingxinxi` DISABLE KEYS */;
+INSERT INTO `dianyingxinxi` VALUES (31,'2022-04-06 07:27:16','电影名称1','电影类型1','upload/1649230119661.jpg','导演1','主演1','制片地区1','语言1',1,'2022-04-06','片长1','
电影介绍1
','','2022-04-06 15:28:25',2),(32,'2022-04-06 07:27:16','唐人街探案3','喜剧片','upload/1649230177680.jpg','导演2','主演2','制片地区2','语言2',2,'2022-04-06','片长2','电影介绍2
','','2022-04-06 15:36:51',5),(33,'2022-04-06 07:27:16','电影名称3','电影类型3','upload/1649230140612.jpg','导演3','主演3','制片地区3','语言3',3,'2022-04-06','片长3','电影介绍3
','','2022-04-06 15:28:51',4),(34,'2022-04-06 07:27:16','电影名称4','电影类型4','upload/1649230148346.jpg','导演4','主演4','制片地区4','语言4',4,'2022-04-06','片长4','电影介绍4
','','2022-04-06 15:29:04',5),(35,'2022-04-06 07:27:16','电影名称5','电影类型5','upload/1649230157440.jpg','导演5','主演5','制片地区5','语言5',5,'2022-04-06','片长5','电影介绍5
','','2022-04-06 15:39:02',15),(36,'2022-04-06 07:27:16','电影名称6','电影类型6','upload/1649230166543.jpg','导演6','主演6','制片地区6','语言6',6,'2022-04-06','片长6','电影介绍6
','','2022-04-06 15:29:21',7),(1649230606661,'2022-04-06 07:36:46','你好,李焕英','喜剧片','upload/1649230562998.jpg','贾玲','张小斐','中国大陆','国语',9.1,'2021-05-06','128分钟','2001年的某一天,刚刚考上大学的贾晓玲经历了人生中的一次大起大落。一心想要成为母亲骄傲的她却因母亲突遭严重意外,而悲痛万分。在贾晓玲情绪崩溃的状态下,竟意外的回到了1981年,并与年轻的母亲李焕英相遇,二人形影不离,宛如闺蜜。与此同时,也结识了一群天真善良的好朋友。晓玲以为来到了这片“广阔天地”,她可以凭借自己超前的思维,让母亲“大有作为”,但结果却让晓玲感到意外......。
','upload/1649230589752.mp4','2022-04-06 15:38:44',4);
+/*!40000 ALTER TABLE `dianyingxinxi` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `discussdianyingxinxi`
+--
+
+DROP TABLE IF EXISTS `discussdianyingxinxi`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `discussdianyingxinxi` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `refid` bigint(20) NOT NULL COMMENT '关联表id',
+ `userid` bigint(20) NOT NULL COMMENT '用户id',
+ `nickname` varchar(200) DEFAULT NULL COMMENT '用户名',
+ `content` longtext NOT NULL COMMENT '评论内容',
+ `reply` longtext COMMENT '回复内容',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8 COMMENT='电影信息评论表';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `discussdianyingxinxi`
+--
+
+LOCK TABLES `discussdianyingxinxi` WRITE;
+/*!40000 ALTER TABLE `discussdianyingxinxi` DISABLE KEYS */;
+INSERT INTO `discussdianyingxinxi` VALUES (81,'2022-04-06 07:27:16',1,1,'用户名1','评论内容1','回复内容1'),(82,'2022-04-06 07:27:16',2,2,'用户名2','评论内容2','回复内容2'),(83,'2022-04-06 07:27:16',3,3,'用户名3','评论内容3','回复内容3'),(84,'2022-04-06 07:27:16',4,4,'用户名4','评论内容4','回复内容4'),(85,'2022-04-06 07:27:16',5,5,'用户名5','评论内容5','回复内容5'),(86,'2022-04-06 07:27:16',6,6,'用户名6','评论内容6','回复内容6');
+/*!40000 ALTER TABLE `discussdianyingxinxi` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `messages`
+--
+
+DROP TABLE IF EXISTS `messages`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `messages` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `userid` bigint(20) NOT NULL COMMENT '留言人id',
+ `username` varchar(200) DEFAULT NULL COMMENT '用户名',
+ `content` longtext NOT NULL COMMENT '留言内容',
+ `cpicture` varchar(200) DEFAULT NULL COMMENT '留言图片',
+ `reply` longtext COMMENT '回复内容',
+ `rpicture` varchar(200) DEFAULT NULL COMMENT '回复图片',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1649230520769 DEFAULT CHARSET=utf8 COMMENT='留言交流';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `messages`
+--
+
+LOCK TABLES `messages` WRITE;
+/*!40000 ALTER TABLE `messages` DISABLE KEYS */;
+INSERT INTO `messages` VALUES (71,'2022-04-06 07:27:16',1,'用户名1','留言内容1','upload/messages_cpicture1.jpg','回复内容1','upload/messages_rpicture1.jpg'),(72,'2022-04-06 07:27:16',2,'用户名2','留言内容2','upload/messages_cpicture2.jpg','回复内容2','upload/messages_rpicture2.jpg'),(73,'2022-04-06 07:27:16',3,'用户名3','留言内容3','upload/messages_cpicture3.jpg','回复内容3','upload/messages_rpicture3.jpg'),(74,'2022-04-06 07:27:16',4,'用户名4','留言内容4','upload/messages_cpicture4.jpg','回复内容4','upload/messages_rpicture4.jpg'),(75,'2022-04-06 07:27:16',5,'用户名5','留言内容5','upload/messages_cpicture5.jpg','回复内容5','upload/messages_rpicture5.jpg'),(1649230520768,'2022-04-06 07:35:19',1649230458549,'1','可以在线留言',NULL,'可以回复用户留言信息',NULL);
+/*!40000 ALTER TABLE `messages` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `news`
+--
+
+DROP TABLE IF EXISTS `news`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `news` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `title` varchar(200) NOT NULL COMMENT '标题',
+ `introduction` longtext COMMENT '简介',
+ `picture` varchar(200) NOT NULL COMMENT '图片',
+ `content` longtext NOT NULL COMMENT '内容',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1649230657050 DEFAULT CHARSET=utf8 COMMENT='电影资讯';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `news`
+--
+
+LOCK TABLES `news` WRITE;
+/*!40000 ALTER TABLE `news` DISABLE KEYS */;
+INSERT INTO `news` VALUES (61,'2022-04-06 07:27:16','有梦想,就要努力去实现','不管你想要怎样的生活,你都要去努力争取,不多尝试一些事情怎么知道自己适合什么、不适合什么呢?你说你喜欢读书,让我给你列书单,你还问我哪里有那么多时间看书;你说自己梦想的职业是广告文案,问我如何成为一个文案,应该具备哪些素质;你说你计划晨跑,但总是因为学习、工作辛苦或者身体不舒服第二天起不了床;你说你一直梦想一个人去长途旅行,但是没钱,父母觉得危险。','upload/1649230193351.jpg','不管你想要怎样的生活,你都要去努力争取,不多尝试一些事情怎么知道自己适合什么、不适合什么呢?
你说你喜欢读书,让我给你列书单,你还问我哪里有那么多时间看书;你说自己梦想的职业是广告文案,问我如何成为一个文案,应该具备哪些素质;你说你计划晨跑,但总是因为学习、工作辛苦或者身体不舒服第二天起不了床;你说你一直梦想一个人去长途旅行,但是没钱,父母觉得危险。其实,我已经厌倦了你这样说说而已的把戏,我觉得就算我告诉你如何去做,你也不会照做,因为你根本什么都不做。
真正有行动力的人不需要别人告诉他如何做,因为他已经在做了。就算碰到问题,他也会自己想办法,自己动手去解决或者主动寻求可以帮助他的人,而不是等着别人为自己解决问题。
首先要学习独立思考。花一点时间想一下自己喜欢什么,梦想是什么,不要别人说想环游世界,你就说你的梦想是环游世界。
很多人说现实束缚了自己,其实在这个世界上,我们一直都可以有很多选择,生活的决定权也—直都在自己手上,只是我们缺乏行动力而已。
如果你觉得安于现状是你想要的,那选择安于现状就会让你幸福和满足;如果你不甘平庸,选择一条改变、进取和奋斗的道路,在这个追求的过程中,你也一样会感到快乐。所谓的成功,即是按照自己想要的生活方式生活。最糟糕的状态,莫过于当你想要选择一条不甘平庸、改变、进取和奋斗的道路时,却以一种安于现状的方式生活,最后抱怨自己没有得到想要的人生。
因为喜欢,你不是在苦苦坚持,也因为喜欢,你愿意投入时间、精力,长久以往,获得成功就是自然而然的事情。
'),(62,'2022-04-06 07:27:16','又是一年毕业季','又是一年毕业季,感慨万千,还记的自己刚进学校那时候的情景,我拖着沉重的行李箱站在偌大的教学楼前面,感叹自己未来的日子即将在这个陌生的校园里度过,而如今斗转星移,浮光掠影,弹指之间,那些青葱岁月如同白驹过隙般悄然从指缝溜走。过去的种种在胸口交集纠结,像打翻的五味瓶,甜蜜,酸楚,苦涩,一并涌上心头。','upload/1649230200554.jpg','又是一年毕业季,感慨万千,还记的自己刚进学校那时候的情景,我拖着沉重的行李箱站在偌大的教学楼前面,感叹自己未来的日子即将在这个陌生的校园里度过,而如今斗转星移,浮光掠影,弹指之间,那些青葱岁月如同白驹过隙般悄然从指缝溜走。
过去的种种在胸口交集纠结,像打翻的五味瓶,甜蜜,酸楚,苦涩,一并涌上心头。一直都是晚会的忠实参与者,无论是台前还是幕后,忽然间,角色转变,那种感觉确实难以用语言表达。
过去的三年,总是默默地期盼着这个好雨时节,因为这时候,会有灿烂的阳光,会有满目的百花争艳,会有香甜的冰激凌,这是个毕业的季节,当时不经世事的我们会殷切地期待学校那一大堆的活动,期待穿上绚丽的演出服或者礼仪服,站在大礼堂镁光灯下尽情挥洒我们的澎拜的激情。
百感交集,隔岸观火与身临其境的感觉竟是如此不同。从来没想过一场晚会送走的是我们自己的时候会是怎样的感情,毕业就真的意味着结束吗?倔强的我们不愿意承认,谢谢学弟学妹们慷慨的将这次的主题定为“我们在这里”。我知道,这可能是他们对我们这些过来人的尊敬和施舍。
没有为这场晚会排练、奔波,没有为班级、学生会、文学院出点力,还真有点不习惯,百般无奈中,用“工作忙”个万能的借口来搪塞自己,欺骗别人。其实自己心里明白,那只是在逃避,只是不愿面对繁华落幕后的萧条和落寞。大四了,大家各奔东西,想凑齐班上的人真的是难上加难,敏燕从越南回来,刚落地就匆匆回了学校,那么恋家的人也启程回来了,睿睿学姐也是从家赶来跟我们团圆。大家—如既往的寒暄、打趣、调侃对方,似乎一切又回到了当初的单纯美好。
看着舞台上活泼可爱的学弟学妹们,如同一群机灵的小精灵,清澈的眼神,稚嫩的肢体,轻快地步伐,用他们那热情洋溢的舞姿渲染着在场的每一个人,我知道,我不应该羡慕嫉妒他们,不应该顾自怜惜逝去的青春,不应该感叹夕阳无限好,曾经,我们也拥有过,曾经,我们也年轻过,曾经,我们也灿烂过。我深深地告诉自己,人生的每个阶段都是美的,年轻有年轻的活力,成熟也有成熟的魅力。多—份稳重、淡然、优雅,也是漫漫时光掠影遗留下的.珍贵赏赐。
'),(63,'2022-04-06 07:27:16','挫折路上,坚持常在心间','回头看看,你会不会发现,曾经的你在这里摔倒过;回头看看,你是否发现,一次次地重复着,却从没爬起过。而如今,让我们把视线转向前方,那一道道金色的弧线,是流星飞逝的痕迹,或是成功运行的轨道。今天的你,是否要扬帆起航,让幸福来敲门?清晨的太阳撒向大地,神奇的宇宙赋予它神奇的色彩,大自然沐浴着春光,世界因太阳的照射而精彩,林中百鸟啾啾,河水轻轻流淌,汇成清宁的山间小调。','upload/1649230208704.jpg','回头看看,你会不会发现,曾经的你在这里摔倒过;回头看看,你是否发现,一次次地重复着,却从没爬起过。而如今,让我们把视线转向前方,那一道道金色的弧线,是流星飞逝的痕迹,或是成功运行的轨道。今天的你,是否要扬帆起航,让幸福来敲门?
清晨的太阳撒向大地,神奇的宇宙赋予它神奇的色彩,大自然沐浴着春光,世界因太阳的照射而精彩,林中百鸟啾啾,河水轻轻流淌,汇成清宁的山间小调。
是的,面对道途上那无情的嘲讽,面对步伐中那重复的摔跤,面对激流与硬石之间猛烈的碰撞,我们必须选择那富于阴雨,却最终见到彩虹的荆棘路。也许,经历了那暴风雨的洗礼,我们便会变得自信,幸福也随之而来。
司马迁屡遭羞辱,却依然在狱中撰写《史记》,作为一名史学家,不因王权而极度赞赏,也不因卑微而极度批判,然而他在坚持自己操守的同时,却依然要受统治阶级的阻碍,他似乎无权选择自己的本职。但是,他不顾于此,只是在面对道途的阻隔之时,他依然选择了走下去的信念。终于一部开山巨作《史记》诞生,为后人留下一份馈赠,也许在他完成毕生的杰作之时,他微微地笑了,没有什么比梦想实现更快乐的了......
或许正如“长风破浪会有时,直挂云帆济沧海”一般,欣欣然地走向看似深渊的崎岖路,而在一番耕耘之后,便会发现这里另有一番天地。也许这就是困难与快乐的交融。
也许在形形色色的社会中,我们常能看到一份坚持,一份自信,但这里却还有一类人。这类人在暴风雨来临之际,只会闪躲,从未懂得这也是一种历炼,这何尝不是一份快乐。在阴暗的角落里,总是独自在哭,带着伤愁,看不到一点希望。
我们不能堕落于此,而要像海燕那般,在苍茫的大海上,高傲地飞翔,任何事物都无法阻挡,任何事都是幸福快乐的。
'),(64,'2022-04-06 07:27:16','挫折是另一个生命的开端','当遇到挫折或失败,你是看见失败还是看见机会?挫折是我们每个人成长的必经之路,它不是你想有就有,想没有就没有的。有句名言说的好,如果你想一生摆脱苦难,你就得是神或者是死尸。这句话形象地说明了挫折是伴随着人生的,是谁都逃不掉的。','upload/1649230216702.jpg','当遇到挫折或失败,你是看见失败还是看见机会?
挫折是我们每个人成长的必经之路,它不是你想有就有,想没有就没有的。有句名言说的好,如果你想一生摆脱苦难,你就得是神或者是死尸。这句话形象地说明了挫折是伴随着人生的,是谁都逃不掉的。
人生在世,从古到今,不分天子平民,机遇虽有不同,但总不免有身陷困境或遭遇难题之处,这时候唯有通权达变,才能使人转危为安,甚至反败为胜。
大部分的人,一生当中,最痛苦的经验是失去所爱的人,其次是丢掉一份工作。其实,经得起考验的人,就算是被开除也不会惊慌,要学会面对。
“塞翁失马,焉知非福。”人生的道路,并不是每一步都迈向成功,这就是追求的意义。我们还要认识到一点,挫折作为一种情绪状态和一种个人体验,各人的耐受性是大不相同的,有的人经历了一次次挫折,就能够坚忍不拔,百折不挠;有的人稍遇挫折便意志消沉,一蹶不振。所以,挫折感是一种主观感受,因为人的目的和需要不同,成功标准不同,所以同一种活动对于不同的人可能会造成不同的挫折感受。
凡事皆以平常心来看待,对于生命顺逆不要太执著。能够“破我执”是很高层的人生境界。
人事的艰难就是一种考验。就像—支剑要有磨刀来磨,剑才会利:一块璞玉要有粗石来磨,才会发出耀眼的光芒。我们能够做到的,只是如何减少、避免那些由于自身的原因所造成的挫折,而在遇到痛苦和挫折之后,则力求化解痛苦,争取幸福。我们要知道,痛苦和挫折是双重性的,它既是我们人生中难以完全避免的,也是我们在争取成功时,不可缺少的一种动力。因为我认为,推动我们奋斗的力量,不仅仅是对成功的渴望,还有为摆脱痛苦和挫折而进行的奋斗。
'),(65,'2022-04-06 07:27:16','你要去相信,没有到不了的明天','有梦想就去努力,因为在这一辈子里面,现在不去勇敢的努力,也许就再也没有机会了。你要去相信,一定要相信,没有到不了的明天。不要被命运打败,让自己变得更强大。不管你现在是一个人走在异乡的街道上始终没有找到一丝归属感,还是你在跟朋友们一起吃饭开心址笑着的时候闪过一丝落寞。','upload/1649230225285.jpg','有梦想就去努力,因为在这一辈子里面,现在不去勇敢的努力,也许就再也没有机会了。你要去相信,一定要相信,没有到不了的明天。不要被命运打败,让自己变得更强大。
不管你现在是一个人走在异乡的街道上始终没有找到一丝归属感,还是你在跟朋友们一起吃饭开心址笑着的时候闪过一丝落寞。
不管你现在是在图书馆里背着怎么也看不进去的英语单词,还是你现在迷茫地看不清未来的方向不知道要往哪走。
不管你现在是在努力着去实现梦想却没能拉近与梦想的距离,还是你已经慢慢地找不到自己的梦想了。
你都要去相信,没有到不了的明天。
有的时候你的梦想太大,别人说你的梦想根本不可能实现;有的时候你的梦想又太小,又有人说你胸无大志;有的时候你对死党说着将来要去环游世界的梦想,却换来他的不屑一顾,于是你再也不提自己的梦想;有的时候你突然说起将来要开个小店的愿望,却发现你讲述的那个人,并没有听到你在说什么。
不过又能怎么样呢,未来始终是自己的,梦想始终是自己的,没有人会来帮你实现它。
也许很多时候我们只是需要朋友的一句鼓励,一句安慰,却也得不到。但是相信我,世界上还有很多人,只是想要和你说说话。
因为我们都一样。一样的被人说成固执,一样的在追逐他们眼里根本不在意的东西。
所以,又有什么关系呢,别人始终不是你、不能懂你的心情,你又何必多去解释呢。这个世界会来阻止你,困难也会接踵而至,其实真正关键的只有自己,有没有那个倔强。
这个世界上没有不带伤的人,真正能治愈自己的,只有自己。
'),(66,'2022-04-06 07:27:16','离开是一种痛苦,是一种勇气,但同样也是一个考验,是一个新的开端','无穷无尽是离愁,天涯海角遍寻思。当离别在即之时,当面对着相濡以沫兄弟般的朋友时,当面对着经历了四年的磨合而形成的真挚友谊之时,我内心激动无语,说一声再见,道一声珍重都很难出口。回想自己四年大学的风风雨雨,回想我们曾经共同经历的岁月流年,我感谢大家的相扶相依,感谢朋友们的莫大支持与帮助。虽然舍不得,但离别的脚步却不因我们的挚情而停滞。','upload/1649230234309.jpg','无穷无尽是离愁,天涯海角遍寻思。当离别在即之时,当面对着相濡以沫兄弟般的朋友时,当面对着经历了四年的磨合而形成的真挚友谊之时,我内心激动无语,说一声再见,道一声珍重都很难出口。回想自己四年大学的风风雨雨,回想我们曾经共同经历的岁月流年,我感谢大家的相扶相依,感谢朋友们的莫大支持与帮助。虽然舍不得,但离别的脚步却不因我们的挚情而停滞。离别的确是一种痛苦,但同样也是我们走入社会,走向新环境、新领域的一个开端,希望大家在以后新的工作岗位上能够确定自己的新起点,坚持不懈,向着更新、更高的目标前进,因为人生最美好的东西永远都在最前方!
忆往昔峥嵘岁月,看今朝潮起潮落,望未来任重而道远。作为新时代的我们,就应在失败时,能拼搏奋起,去谱写人生的辉煌。在成功时,亦能居安思危,不沉湎于一时的荣耀、鲜花和掌声中,时时刻刻怀着一颗积极寻找自己新的奶酪的心,处变不惊、成败不渝,始终踏着自己坚实的步伐,从零开始,不断向前迈进,这样才能在这风起云涌、变幻莫测的社会大潮中成为真正的弄潮儿!
'),(1649230657049,'2022-04-06 07:37:36','可以发布电影相关资讯','DFDGFD','upload/1649230649805.jpg','GFHTFGHG
');
+/*!40000 ALTER TABLE `news` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `storeup`
+--
+
+DROP TABLE IF EXISTS `storeup`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `storeup` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `userid` bigint(20) NOT NULL COMMENT '用户id',
+ `refid` bigint(20) DEFAULT NULL COMMENT '收藏id',
+ `tablename` varchar(200) DEFAULT NULL COMMENT '表名',
+ `name` varchar(200) NOT NULL COMMENT '收藏名称',
+ `picture` varchar(200) NOT NULL COMMENT '收藏图片',
+ `type` varchar(200) DEFAULT '1' COMMENT '类型(1:收藏,21:赞,22:踩)',
+ `inteltype` varchar(200) DEFAULT NULL COMMENT '推荐类型',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1649230692286 DEFAULT CHARSET=utf8 COMMENT='收藏表';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `storeup`
+--
+
+LOCK TABLES `storeup` WRITE;
+/*!40000 ALTER TABLE `storeup` DISABLE KEYS */;
+INSERT INTO `storeup` VALUES (1649230692285,'2022-04-06 07:38:11',1649230458549,1649230606661,'dianyingxinxi','你好,李焕英','upload/1649230562998.jpg','1','喜剧片');
+/*!40000 ALTER TABLE `storeup` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `token`
+--
+
+DROP TABLE IF EXISTS `token`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `token` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `userid` bigint(20) NOT NULL COMMENT '用户id',
+ `username` varchar(100) NOT NULL COMMENT '用户名',
+ `tablename` varchar(100) DEFAULT NULL COMMENT '表名',
+ `role` varchar(100) DEFAULT NULL COMMENT '角色',
+ `token` varchar(200) NOT NULL COMMENT '密码',
+ `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
+ `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='token表';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `token`
+--
+
+LOCK TABLES `token` WRITE;
+/*!40000 ALTER TABLE `token` DISABLE KEYS */;
+INSERT INTO `token` VALUES (1,1,'abo','users','管理员','ppui7lh0d5tb42kbv2e15zruf2ntkpci','2022-04-06 07:28:19','2022-04-06 08:40:14'),(2,1649230458549,'1','yonghu','用户','bdg98i11ks8gyy4mios976o8fykk7pof','2022-04-06 07:34:32','2022-04-06 08:37:56');
+/*!40000 ALTER TABLE `token` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `users`
+--
+
+DROP TABLE IF EXISTS `users`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `users` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `username` varchar(100) NOT NULL COMMENT '用户名',
+ `password` varchar(100) NOT NULL COMMENT '密码',
+ `role` varchar(100) DEFAULT '管理员' COMMENT '角色',
+ `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户表';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `users`
+--
+
+LOCK TABLES `users` WRITE;
+/*!40000 ALTER TABLE `users` DISABLE KEYS */;
+INSERT INTO `users` VALUES (1,'abo','abo','管理员','2022-04-06 07:27:16');
+/*!40000 ALTER TABLE `users` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `yonghu`
+--
+
+DROP TABLE IF EXISTS `yonghu`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `yonghu` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+ `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+ `yonghuming` varchar(200) NOT NULL COMMENT '用户名',
+ `mima` varchar(200) NOT NULL COMMENT '密码',
+ `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
+ `touxiang` varchar(200) DEFAULT NULL COMMENT '头像',
+ `xingbie` varchar(200) DEFAULT NULL COMMENT '性别',
+ `shouji` varchar(200) DEFAULT NULL COMMENT '手机',
+ `xihuanleixing` varchar(200) DEFAULT NULL COMMENT '喜欢类型',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `yonghuming` (`yonghuming`)
+) ENGINE=InnoDB AUTO_INCREMENT=1649230458550 DEFAULT CHARSET=utf8 COMMENT='用户';
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `yonghu`
+--
+
+LOCK TABLES `yonghu` WRITE;
+/*!40000 ALTER TABLE `yonghu` DISABLE KEYS */;
+INSERT INTO `yonghu` VALUES (11,'2022-04-06 07:27:16','用户名1','123456','姓名1','upload/yonghu_touxiang1.jpg','男','13823888881','喜欢类型1'),(12,'2022-04-06 07:27:16','用户名2','123456','姓名2','upload/yonghu_touxiang2.jpg','男','13823888882','喜欢类型2'),(13,'2022-04-06 07:27:16','用户名3','123456','姓名3','upload/yonghu_touxiang3.jpg','男','13823888883','喜欢类型3'),(14,'2022-04-06 07:27:16','用户名4','123456','姓名4','upload/yonghu_touxiang4.jpg','男','13823888884','喜欢类型4'),(15,'2022-04-06 07:27:16','用户名5','123456','姓名5','upload/yonghu_touxiang5.jpg','男','13823888885','喜欢类型5'),(16,'2022-04-06 07:27:16','用户名6','123456','姓名6','upload/yonghu_touxiang6.jpg','男','13823888886','喜欢类型6'),(1649230458549,'2022-04-06 07:34:18','1','123456','陈一','upload/1649230480399.jpg','女','12312312312','动作片,喜剧片');
+/*!40000 ALTER TABLE `yonghu` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2022-04-08 21:46:12
diff --git a/mvnw b/mvnw
new file mode 100644
index 0000000..21d3ee8
--- /dev/null
+++ b/mvnw
@@ -0,0 +1,310 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven2 Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+ if [ -f /etc/mavenrc ] ; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ] ; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+ CYGWIN*) cygwin=true ;;
+ MINGW*) mingw=true;;
+ Darwin*) darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ export JAVA_HOME="`/usr/libexec/java_home`"
+ else
+ export JAVA_HOME="/Library/Java/Home"
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=`java-config --jre-home`
+ fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG="`dirname "$PRG"`/$link"
+ fi
+ done
+
+ saveddir=`pwd`
+
+ M2_HOME=`dirname "$PRG"`/..
+
+ # make it fully qualified
+ M2_HOME=`cd "$M2_HOME" && pwd`
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --unix "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="`(cd "$M2_HOME"; pwd)`"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="`which javac`"
+ if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=`which readlink`
+ if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
+ if $darwin ; then
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
+ else
+ javaExecutable="`readlink -f \"$javaExecutable\"`"
+ fi
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaHome=`expr "$javaHome" : '\(.*\)/bin'`
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="`which java`"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+ if [ -z "$1" ]
+ then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ] ; do
+ if [ -d "$wdir"/.mvn ] ; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=`cd "$wdir/.."; pwd`
+ fi
+ # end of workaround
+ done
+ echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "$(tr -s '\n' ' ' < "$1")"
+ fi
+}
+
+BASE_DIR=`find_maven_basedir "$(pwd)"`
+if [ -z "$BASE_DIR" ]; then
+ exit 1;
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
+ fi
+else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+ fi
+ if [ -n "$MVNW_REPOURL" ]; then
+ jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
+ else
+ jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
+ fi
+ while IFS="=" read key value; do
+ case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
+ esac
+ done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Downloading from: $jarUrl"
+ fi
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+ if $cygwin; then
+ wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
+ fi
+
+ if command -v wget > /dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found wget ... using wget"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ wget "$jarUrl" -O "$wrapperJarPath"
+ else
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
+ fi
+ elif command -v curl > /dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found curl ... using curl"
+ fi
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
+ curl -o "$wrapperJarPath" "$jarUrl" -f
+ else
+ curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+ fi
+
+ else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Falling back to using Java to download"
+ fi
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ # For Cygwin, switch paths to Windows format before running javac
+ if $cygwin; then
+ javaClass=`cygpath --path --windows "$javaClass"`
+ fi
+ if [ -e "$javaClass" ]; then
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Compiling MavenWrapperDownloader.java ..."
+ fi
+ # Compiling the Java class
+ ("$JAVA_HOME/bin/javac" "$javaClass")
+ fi
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ # Running the downloader
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Running MavenWrapperDownloader.java ..."
+ fi
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+ echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --path --windows "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
+fi
+
+# Provide a "standardized" way to retrieve the CLI args that will
+# work with both Windows and non-Windows executions.
+MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
+export MAVEN_CMD_LINE_ARGS
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/mvnw.cmd b/mvnw.cmd
new file mode 100644
index 0000000..84d60ab
--- /dev/null
+++ b/mvnw.cmd
@@ -0,0 +1,182 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM https://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven2 Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
+
+FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
+ IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Found %WRAPPER_JAR%
+ )
+) else (
+ if not "%MVNW_REPOURL%" == "" (
+ SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
+ )
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
+ echo Downloading from: %DOWNLOAD_URL%
+ )
+
+ powershell -Command "&{"^
+ "$webclient = new-object System.Net.WebClient;"^
+ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
+ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
+ "}"^
+ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
+ "}"
+ if "%MVNW_VERBOSE%" == "true" (
+ echo Finished downloading %WRAPPER_JAR%
+ )
+)
+@REM End of extension
+
+@REM Provide a "standardized" way to retrieve the CLI args that will
+@REM work with both Windows and non-Windows executions.
+set MAVEN_CMD_LINE_ARGS=%*
+
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
diff --git a/pom-war.xml b/pom-war.xml
new file mode 100644
index 0000000..86b56f7
--- /dev/null
+++ b/pom-war.xml
@@ -0,0 +1,154 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.2.2.RELEASE
+
+
+ com.jlwl
+
+ springboots8h13
+ 0.0.1-SNAPSHOT
+ springboot-schema
+ springboot学习框架(war包对应的pom,打war包,执行【mvn clean package -f pom-war.xml】)
+ war
+
+
+ 1.8
+ 1.2.8
+ 3.1.1
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 2.1.1
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+ provided
+
+
+
+ mysql
+ mysql-connector-java
+
+
+ org.apache.shiro
+ shiro-spring
+ 1.3.2
+
+
+
+ com.baomidou
+ mybatis-plus
+ 2.3
+
+
+ com.baomidou
+ mybatisplus-spring-boot-starter
+ 1.0.5
+
+
+ com.google.protobuf
+ protobuf-java
+ 3.10.0
+
+
+
+ org.apache.commons
+ commons-lang3
+ 3.0
+
+
+
+ javax.validation
+ validation-api
+ 2.0.1.Final
+
+
+
+ commons-io
+ commons-io
+ 2.5
+
+
+
+
+ cn.hutool
+ hutool-all
+ 4.0.12
+
+
+
+
+ com.alibaba
+ fastjson
+ ${fastjson.version}
+
+
+
+ com.baidu.aip
+ java-sdk
+ 4.4.1
+
+
+
+ org.apache.poi
+ poi
+ 3.11
+
+
+
+ org.apache.poi
+ poi-ooxml
+ 3.9
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+
+
+
+
+
+ springboots8h13
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ true
+
+
+
+
+
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..76b8abf
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,151 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.2.2.RELEASE
+
+
+ com.jlwl
+
+ springboots8h13
+ 0.0.1-SNAPSHOT
+ springboot-schema
+ springboot学习框架
+
+
+ 1.8
+ 1.2.8
+ 3.1.1
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 2.1.1
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+
+ mysql
+ mysql-connector-java
+
+
+ org.apache.shiro
+ shiro-spring
+ 1.3.2
+
+
+
+ com.baomidou
+ mybatis-plus
+ 2.3
+
+
+ com.baomidou
+ mybatisplus-spring-boot-starter
+ 1.0.5
+
+
+ com.google.protobuf
+ protobuf-java
+ 3.10.0
+
+
+
+ org.apache.commons
+ commons-lang3
+ 3.0
+
+
+
+ javax.validation
+ validation-api
+ 2.0.1.Final
+
+
+
+ commons-io
+ commons-io
+ 2.5
+
+
+
+
+ cn.hutool
+ hutool-all
+ 4.0.12
+
+
+
+
+ com.alibaba
+ fastjson
+ ${fastjson.version}
+
+
+ com.microsoft.sqlserver
+ sqljdbc4
+ 4.0
+ 4.0
+
+
+
+ com.microsoft.sqlserver
+ mssql-jdbc
+ 6.2.0.jre8
+ runtime
+
+
+
+ com.baidu.aip
+ java-sdk
+ 4.4.1
+
+
+
+ org.apache.poi
+ poi
+ 3.11
+
+
+
+ org.apache.poi
+ poi-ooxml
+ 3.9
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.junit.vintage
+ junit-vintage-engine
+
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/src/main/java/com/SpringbootSchemaApplication.java b/src/main/java/com/SpringbootSchemaApplication.java
new file mode 100644
index 0000000..bc07f40
--- /dev/null
+++ b/src/main/java/com/SpringbootSchemaApplication.java
@@ -0,0 +1,21 @@
+package com;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+
+@SpringBootApplication
+@MapperScan(basePackages = {"com.dao"})
+public class SpringbootSchemaApplication extends SpringBootServletInitializer{
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringbootSchemaApplication.class, args);
+ }
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder applicationBuilder) {
+ return applicationBuilder.sources(SpringbootSchemaApplication.class);
+ }
+}
diff --git a/src/main/java/com/annotation/APPLoginUser.java b/src/main/java/com/annotation/APPLoginUser.java
new file mode 100644
index 0000000..21d41b9
--- /dev/null
+++ b/src/main/java/com/annotation/APPLoginUser.java
@@ -0,0 +1,15 @@
+package com.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 登录用户信息
+ */
+@Target(ElementType.PARAMETER)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface APPLoginUser {
+
+}
diff --git a/src/main/java/com/annotation/IgnoreAuth.java b/src/main/java/com/annotation/IgnoreAuth.java
new file mode 100644
index 0000000..7c3cc55
--- /dev/null
+++ b/src/main/java/com/annotation/IgnoreAuth.java
@@ -0,0 +1,13 @@
+package com.annotation;
+
+import java.lang.annotation.*;
+
+/**
+ * 忽略Token验证
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface IgnoreAuth {
+
+}
diff --git a/src/main/java/com/annotation/LoginUser.java b/src/main/java/com/annotation/LoginUser.java
new file mode 100644
index 0000000..3d808d3
--- /dev/null
+++ b/src/main/java/com/annotation/LoginUser.java
@@ -0,0 +1,15 @@
+package com.annotation;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 登录用户信息
+ */
+@Target(ElementType.PARAMETER)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface LoginUser {
+
+}
diff --git a/src/main/java/com/config/AlipayConfig.java b/src/main/java/com/config/AlipayConfig.java
new file mode 100644
index 0000000..74965a7
--- /dev/null
+++ b/src/main/java/com/config/AlipayConfig.java
@@ -0,0 +1,18 @@
+package com.config;
+
+import java.io.FileWriter;
+import java.io.IOException;
+
+/* *
+ *类名:AlipayConfig
+ *功能:基础配置类
+ *详细:设置帐户有关信息及返回路径
+ *修改日期:2017-04-05
+ *说明:
+ *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
+ *该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
+ */
+
+public class AlipayConfig {
+}
+
diff --git a/src/main/java/com/config/InterceptorConfig.java b/src/main/java/com/config/InterceptorConfig.java
new file mode 100644
index 0000000..8cc94d2
--- /dev/null
+++ b/src/main/java/com/config/InterceptorConfig.java
@@ -0,0 +1,38 @@
+package com.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+
+import com.interceptor.AuthorizationInterceptor;
+
+@Configuration
+public class InterceptorConfig extends WebMvcConfigurationSupport{
+
+ @Bean
+ public AuthorizationInterceptor getAuthorizationInterceptor() {
+ return new AuthorizationInterceptor();
+ }
+
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(getAuthorizationInterceptor()).addPathPatterns("/**").excludePathPatterns("/static/**");
+ super.addInterceptors(registry);
+ }
+
+ /**
+ * springboot 2.0配置WebMvcConfigurationSupport之后,会导致默认配置被覆盖,要访问静态资源需要重写addResourceHandlers方法
+ */
+ @Override
+ public void addResourceHandlers(ResourceHandlerRegistry registry) {
+ registry.addResourceHandler("/**")
+ .addResourceLocations("classpath:/resources/")
+ .addResourceLocations("classpath:/static/")
+ .addResourceLocations("classpath:/admin/")
+ .addResourceLocations("classpath:/front/")
+ .addResourceLocations("classpath:/public/");
+ super.addResourceHandlers(registry);
+ }
+}
diff --git a/src/main/java/com/config/MybatisPlusConfig.java b/src/main/java/com/config/MybatisPlusConfig.java
new file mode 100644
index 0000000..ec2e84b
--- /dev/null
+++ b/src/main/java/com/config/MybatisPlusConfig.java
@@ -0,0 +1,24 @@
+
+package com.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import com.baomidou.mybatisplus.mapper.MetaObjectHandler;
+import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
+
+/**
+ * mybatis-plus配置
+ */
+@Configuration
+public class MybatisPlusConfig {
+
+ /**
+ * 分页插件
+ */
+ @Bean
+ public PaginationInterceptor paginationInterceptor() {
+ return new PaginationInterceptor();
+ }
+
+}
diff --git a/src/main/java/com/controller/CommonController.java b/src/main/java/com/controller/CommonController.java
new file mode 100644
index 0000000..e591416
--- /dev/null
+++ b/src/main/java/com/controller/CommonController.java
@@ -0,0 +1,269 @@
+package com.controller;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.commons.lang3.StringUtils;
+import org.json.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.ResourceUtils;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.annotation.IgnoreAuth;
+import com.baidu.aip.face.AipFace;
+import com.baidu.aip.face.MatchRequest;
+import com.baidu.aip.util.Base64Util;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.entity.ConfigEntity;
+import com.service.CommonService;
+import com.service.ConfigService;
+import com.utils.BaiduUtil;
+import com.utils.FileUtil;
+import com.utils.R;
+/**
+ * 通用接口
+ */
+@RestController
+public class CommonController{
+ @Autowired
+ private CommonService commonService;
+
+ private static AipFace client = null;
+
+ @Autowired
+ private ConfigService configService;
+ /**
+ * 获取table表中的column列表(联动接口)
+ * @param table
+ * @param column
+ * @return
+ */
+ @IgnoreAuth
+ @RequestMapping("/option/{tableName}/{columnName}")
+ public R getOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,String level,String parent) {
+ Map params = new HashMap();
+ params.put("table", tableName);
+ params.put("column", columnName);
+ if(StringUtils.isNotBlank(level)) {
+ params.put("level", level);
+ }
+ if(StringUtils.isNotBlank(parent)) {
+ params.put("parent", parent);
+ }
+ List data = commonService.getOption(params);
+ return R.ok().put("data", data);
+ }
+
+ /**
+ * 根据table中的column获取单条记录
+ * @param table
+ * @param column
+ * @return
+ */
+ @IgnoreAuth
+ @RequestMapping("/follow/{tableName}/{columnName}")
+ public R getFollowByOption(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName, @RequestParam String columnValue) {
+ Map params = new HashMap();
+ params.put("table", tableName);
+ params.put("column", columnName);
+ params.put("columnValue", columnValue);
+ Map result = commonService.getFollowByOption(params);
+ return R.ok().put("data", result);
+ }
+
+ /**
+ * 修改table表的sfsh状态
+ * @param table
+ * @param map
+ * @return
+ */
+ @RequestMapping("/sh/{tableName}")
+ public R sh(@PathVariable("tableName") String tableName, @RequestBody Map map) {
+ map.put("table", tableName);
+ commonService.sh(map);
+ return R.ok();
+ }
+
+ /**
+ * 获取需要提醒的记录数
+ * @param tableName
+ * @param columnName
+ * @param type 1:数字 2:日期
+ * @param map
+ * @return
+ */
+ @IgnoreAuth
+ @RequestMapping("/remind/{tableName}/{columnName}/{type}")
+ public R remindCount(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName,
+ @PathVariable("type") String type,@RequestParam Map map) {
+ map.put("table", tableName);
+ map.put("column", columnName);
+ map.put("type", type);
+
+ if(type.equals("2")) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ Calendar c = Calendar.getInstance();
+ Date remindStartDate = null;
+ Date remindEndDate = null;
+ if(map.get("remindstart")!=null) {
+ Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
+ c.setTime(new Date());
+ c.add(Calendar.DAY_OF_MONTH,remindStart);
+ remindStartDate = c.getTime();
+ map.put("remindstart", sdf.format(remindStartDate));
+ }
+ if(map.get("remindend")!=null) {
+ Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
+ c.setTime(new Date());
+ c.add(Calendar.DAY_OF_MONTH,remindEnd);
+ remindEndDate = c.getTime();
+ map.put("remindend", sdf.format(remindEndDate));
+ }
+ }
+
+ int count = commonService.remindCount(map);
+ return R.ok().put("count", count);
+ }
+
+ /**
+ * 单列求和
+ */
+ @IgnoreAuth
+ @RequestMapping("/cal/{tableName}/{columnName}")
+ public R cal(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) {
+ Map params = new HashMap();
+ params.put("table", tableName);
+ params.put("column", columnName);
+ Map result = commonService.selectCal(params);
+ return R.ok().put("data", result);
+ }
+
+ /**
+ * 分组统计
+ */
+ @IgnoreAuth
+ @RequestMapping("/group/{tableName}/{columnName}")
+ public R group(@PathVariable("tableName") String tableName, @PathVariable("columnName") String columnName) {
+ Map params = new HashMap();
+ params.put("table", tableName);
+ params.put("column", columnName);
+ List