forked from MarkerHub/vueblog
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
32 changed files
with
1,249 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
公众号:MarkerHub |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<parent> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-parent</artifactId> | ||
<version>2.2.6.RELEASE</version> | ||
<relativePath/> <!-- lookup parent from repository --> | ||
</parent> | ||
<groupId>com.markerhub</groupId> | ||
<artifactId>vblog-java</artifactId> | ||
<version>0.0.1-SNAPSHOT</version> | ||
<name>vblog-java</name> | ||
<description>Demo project for Spring Boot</description> | ||
|
||
<properties> | ||
<java.version>1.8</java.version> | ||
</properties> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-web</artifactId> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-devtools</artifactId> | ||
<scope>runtime</scope> | ||
<optional>true</optional> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.projectlombok</groupId> | ||
<artifactId>lombok</artifactId> | ||
<optional>true</optional> | ||
</dependency> | ||
|
||
<!--mp--> | ||
<dependency> | ||
<groupId>com.baomidou</groupId> | ||
<artifactId>mybatis-plus-boot-starter</artifactId> | ||
<version>3.2.0</version> | ||
</dependency> | ||
<dependency> | ||
<groupId>mysql</groupId> | ||
<artifactId>mysql-connector-java</artifactId> | ||
<scope>runtime</scope> | ||
</dependency> | ||
|
||
<!--mp代码生成器--> | ||
<dependency> | ||
<groupId>com.baomidou</groupId> | ||
<artifactId>mybatis-plus-generator</artifactId> | ||
<version>3.2.0</version> | ||
</dependency> | ||
|
||
<!-- shiro-redis --> | ||
<dependency> | ||
<groupId>org.crazycake</groupId> | ||
<artifactId>shiro-redis-spring-boot-starter</artifactId> | ||
<version>3.2.1</version> | ||
</dependency> | ||
|
||
<!-- hutool工具类--> | ||
<dependency> | ||
<groupId>cn.hutool</groupId> | ||
<artifactId>hutool-all</artifactId> | ||
<version>5.3.3</version> | ||
</dependency> | ||
|
||
<!-- jwt --> | ||
<dependency> | ||
<groupId>io.jsonwebtoken</groupId> | ||
<artifactId>jjwt</artifactId> | ||
<version>0.9.1</version> | ||
</dependency> | ||
|
||
<!-- 为了代码生成 --> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-freemarker</artifactId> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-test</artifactId> | ||
<scope>test</scope> | ||
<exclusions> | ||
<exclusion> | ||
<groupId>org.junit.vintage</groupId> | ||
<artifactId>junit-vintage-engine</artifactId> | ||
</exclusion> | ||
</exclusions> | ||
</dependency> | ||
</dependencies> | ||
|
||
<build> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-maven-plugin</artifactId> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
|
||
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package com.markerhub; | ||
|
||
import org.springframework.boot.SpringApplication; | ||
import org.springframework.boot.autoconfigure.SpringBootApplication; | ||
|
||
@SpringBootApplication | ||
public class Application { | ||
|
||
public static void main(String[] args) { | ||
SpringApplication.run(Application.class, args); | ||
System.out.println("http://localhost:8080"); | ||
} | ||
|
||
} |
116 changes: 116 additions & 0 deletions
116
vueblog-java/src/main/java/com/markerhub/CodeGenerator.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
package com.markerhub; | ||
|
||
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; | ||
import com.baomidou.mybatisplus.core.toolkit.StringPool; | ||
import com.baomidou.mybatisplus.core.toolkit.StringUtils; | ||
import com.baomidou.mybatisplus.generator.AutoGenerator; | ||
import com.baomidou.mybatisplus.generator.InjectionConfig; | ||
import com.baomidou.mybatisplus.generator.config.*; | ||
import com.baomidou.mybatisplus.generator.config.po.TableInfo; | ||
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; | ||
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; | ||
|
||
import java.util.ArrayList; | ||
import java.util.List; | ||
import java.util.Scanner; | ||
|
||
// 演示例子,执行 main 方法控制台输入模块表名回车自动生成对应项目目录中 | ||
public class CodeGenerator { | ||
|
||
/** | ||
* <p> | ||
* 读取控制台内容 | ||
* </p> | ||
*/ | ||
public static String scanner(String tip) { | ||
Scanner scanner = new Scanner(System.in); | ||
StringBuilder help = new StringBuilder(); | ||
help.append("请输入" + tip + ":"); | ||
System.out.println(help.toString()); | ||
if (scanner.hasNext()) { | ||
String ipt = scanner.next(); | ||
if (StringUtils.isNotEmpty(ipt)) { | ||
return ipt; | ||
} | ||
} | ||
throw new MybatisPlusException("请输入正确的" + tip + "!"); | ||
} | ||
|
||
public static void main(String[] args) { | ||
// 代码生成器 | ||
AutoGenerator mpg = new AutoGenerator(); | ||
|
||
// 全局配置 | ||
GlobalConfig gc = new GlobalConfig(); | ||
String projectPath = System.getProperty("user.dir"); | ||
gc.setOutputDir(projectPath + "/src/main/java"); | ||
// gc.setOutputDir("D:\\test"); | ||
gc.setAuthor("关注公众号:MarkerHub"); | ||
gc.setOpen(false); | ||
// gc.setSwagger2(true); 实体属性 Swagger2 注解 | ||
gc.setServiceName("%sService"); | ||
mpg.setGlobalConfig(gc); | ||
|
||
// 数据源配置 | ||
DataSourceConfig dsc = new DataSourceConfig(); | ||
dsc.setUrl("jdbc:mysql://localhost:3306/markerhub?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC"); | ||
// dsc.setSchemaName("public"); | ||
dsc.setDriverName("com.mysql.cj.jdbc.Driver"); | ||
dsc.setUsername("root"); | ||
dsc.setPassword("admin"); | ||
mpg.setDataSource(dsc); | ||
|
||
// 包配置 | ||
PackageConfig pc = new PackageConfig(); | ||
pc.setModuleName(null); | ||
pc.setParent("com.markerhub"); | ||
mpg.setPackageInfo(pc); | ||
|
||
// 自定义配置 | ||
InjectionConfig cfg = new InjectionConfig() { | ||
@Override | ||
public void initMap() { | ||
// to do nothing | ||
} | ||
}; | ||
|
||
// 如果模板引擎是 freemarker | ||
String templatePath = "/templates/mapper.xml.ftl"; | ||
// 如果模板引擎是 velocity | ||
// String templatePath = "/templates/mapper.xml.vm"; | ||
|
||
// 自定义输出配置 | ||
List<FileOutConfig> focList = new ArrayList<>(); | ||
// 自定义配置会被优先输出 | ||
focList.add(new FileOutConfig(templatePath) { | ||
@Override | ||
public String outputFile(TableInfo tableInfo) { | ||
// 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!! | ||
return projectPath + "/src/main/resources/mapper/" | ||
+ "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML; | ||
} | ||
}); | ||
|
||
cfg.setFileOutConfigList(focList); | ||
mpg.setCfg(cfg); | ||
|
||
// 配置模板 | ||
TemplateConfig templateConfig = new TemplateConfig(); | ||
|
||
templateConfig.setXml(null); | ||
mpg.setTemplate(templateConfig); | ||
|
||
// 策略配置 | ||
StrategyConfig strategy = new StrategyConfig(); | ||
strategy.setNaming(NamingStrategy.underline_to_camel); | ||
strategy.setColumnNaming(NamingStrategy.underline_to_camel); | ||
strategy.setEntityLombokModel(true); | ||
strategy.setRestControllerStyle(true); | ||
strategy.setInclude(scanner("表名,多个英文逗号分割").split(",")); | ||
strategy.setControllerMappingHyphenStyle(true); | ||
strategy.setTablePrefix("m_"); | ||
mpg.setStrategy(strategy); | ||
mpg.setTemplateEngine(new FreemarkerTemplateEngine()); | ||
mpg.execute(); | ||
} | ||
} |
17 changes: 17 additions & 0 deletions
17
vueblog-java/src/main/java/com/markerhub/common/dto/LoginDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
package com.markerhub.common.dto; | ||
|
||
import com.markerhub.entity.User; | ||
import lombok.Data; | ||
|
||
import javax.validation.constraints.NotBlank; | ||
import java.io.Serializable; | ||
|
||
@Data | ||
public class LoginDto implements Serializable { | ||
|
||
@NotBlank(message = "昵称不能为空") | ||
private String username; | ||
|
||
@NotBlank(message = "密码不能为空") | ||
private String password; | ||
} |
61 changes: 61 additions & 0 deletions
61
vueblog-java/src/main/java/com/markerhub/common/exception/GlobalExcepitonHandler.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
package com.markerhub.common.exception; | ||
|
||
import com.markerhub.common.lang.Result; | ||
import lombok.extern.slf4j.Slf4j; | ||
import org.apache.shiro.ShiroException; | ||
import org.springframework.http.HttpStatus; | ||
import org.springframework.validation.BindingResult; | ||
import org.springframework.validation.ObjectError; | ||
import org.springframework.web.bind.MethodArgumentNotValidException; | ||
import org.springframework.web.bind.annotation.ExceptionHandler; | ||
import org.springframework.web.bind.annotation.ResponseStatus; | ||
import org.springframework.web.bind.annotation.RestControllerAdvice; | ||
|
||
import java.io.IOException; | ||
|
||
/** | ||
* 全局异常处理 | ||
*/ | ||
@Slf4j | ||
@RestControllerAdvice | ||
public class GlobalExcepitonHandler { | ||
|
||
// 捕捉shiro的异常 | ||
@ResponseStatus(HttpStatus.UNAUTHORIZED) | ||
@ExceptionHandler(ShiroException.class) | ||
public Result handle401(ShiroException e) { | ||
return Result.fail(401, e.getMessage(), null); | ||
} | ||
|
||
/** | ||
* 处理Assert的异常 | ||
*/ | ||
@ResponseStatus(HttpStatus.BAD_REQUEST) | ||
@ExceptionHandler(value = IllegalArgumentException.class) | ||
public Result handler(IllegalArgumentException e) throws IOException { | ||
log.error("Assert异常:-------------->{}",e.getMessage()); | ||
return Result.fail(e.getMessage()); | ||
} | ||
|
||
/** | ||
* @Validated 校验错误异常处理 | ||
*/ | ||
@ResponseStatus(HttpStatus.BAD_REQUEST) | ||
@ExceptionHandler(value = MethodArgumentNotValidException.class) | ||
public Result handler(MethodArgumentNotValidException e) throws IOException { | ||
log.error("运行时异常:-------------->",e); | ||
|
||
BindingResult bindingResult = e.getBindingResult(); | ||
ObjectError objectError = bindingResult.getAllErrors().stream().findFirst().get(); | ||
return Result.fail(objectError.getDefaultMessage()); | ||
} | ||
|
||
|
||
@ResponseStatus(HttpStatus.BAD_REQUEST) | ||
@ExceptionHandler(value = RuntimeException.class) | ||
public Result handler(RuntimeException e) throws IOException { | ||
log.error("运行时异常:-------------->",e); | ||
return Result.fail(e.getMessage()); | ||
} | ||
|
||
} |
42 changes: 42 additions & 0 deletions
42
vueblog-java/src/main/java/com/markerhub/common/lang/Result.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
package com.markerhub.common.lang; | ||
|
||
import lombok.Data; | ||
|
||
import java.io.Serializable; | ||
|
||
@Data | ||
public class Result implements Serializable { | ||
|
||
private int code; | ||
private String msg; | ||
private Object data; | ||
|
||
public static Result succ(Object data) { | ||
return succ("操作成功", data); | ||
} | ||
|
||
public static Result succ(String mess, Object data) { | ||
Result m = new Result(); | ||
m.setCode(200); | ||
m.setData(data); | ||
m.setMsg(mess); | ||
return m; | ||
} | ||
|
||
public static Result fail(String mess) { | ||
return fail(mess, null); | ||
} | ||
|
||
public static Result fail(String mess, Object data) { | ||
return fail(400, mess, data); | ||
} | ||
|
||
public static Result fail(int code, String mess, Object data) { | ||
Result m = new Result(); | ||
m.setCode(code); | ||
m.setData(data); | ||
m.setMsg(mess); | ||
return m; | ||
} | ||
|
||
} |
Oops, something went wrong.