Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
springboot-mybatis
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wzy
springboot-mybatis
Commits
3e9b05d8
Commit
3e9b05d8
authored
Jun 24, 2021
by
wzy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
GlobalExceptionHandler
parent
453aeea9
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
189 additions
and
30 deletions
+189
-30
pom.xml
+8
-2
src/main/java/cn/drive/config/MybatisPlus.java
+11
-0
src/main/java/cn/drive/controller/UserController.java
+5
-3
src/main/java/cn/drive/entity/User.java
+3
-0
src/main/java/cn/drive/enums/SysErrorEnum.java
+21
-0
src/main/java/cn/drive/exception/ExceptionType.java
+0
-15
src/main/java/cn/drive/exception/GlobalExceptionHandler.java
+23
-0
src/main/java/cn/drive/exception/InvalidRequestException.java
+8
-0
src/main/java/cn/drive/exception/SysException.java
+20
-0
src/main/java/cn/drive/mapper/UserMapper.java
+2
-3
src/main/java/cn/drive/service/UserService.java
+1
-1
src/main/java/cn/drive/service/impl/UserServiceImpl.java
+8
-5
src/main/java/cn/drive/vo/ResponseVO.java
+70
-0
src/main/resources/application.yml
+9
-1
No files found.
pom.xml
View file @
3e9b05d8
...
...
@@ -45,8 +45,14 @@
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-generator
</artifactId>
<version>
3.4.0
</version>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
<version>
3.4.3
</version>
</dependency>
<dependency>
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
<optional>
true
</optional>
</dependency>
</dependencies>
...
...
src/main/java/cn/drive/config/MybatisPlus.java
0 → 100644
View file @
3e9b05d8
package
cn
.
drive
.
config
;
import
org.mybatis.spring.annotation.MapperScan
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.transaction.annotation.EnableTransactionManagement
;
@Configuration
@EnableTransactionManagement
@MapperScan
(
"cn.drive.mapper"
)
public
class
MybatisPlus
{
}
src/main/java/cn/drive/controller/UserController.java
View file @
3e9b05d8
package
cn
.
drive
.
controller
;
import
cn.drive.service.UserService
;
import
cn.drive.vo.ResponseVO
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
javax.annotation.Resource
;
import
javax.validation.constraints.Email
;
import
org.springframework.web.bind.annotation.RestController
;
@RequestMapping
(
"user"
)
@RequestMapping
(
"
/
user"
)
@RestController
public
class
UserController
{
@Resource
UserService
userService
;
@GetMapping
()
public
ResponseEntity
<?>
sendVerificationCode
(
@Email
String
email
)
{
userService
.
sendVerificationCode
(
email
);
return
new
ResponseEntity
<>(
"已将验证码发送到"
+
email
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
ResponseVO
.
success
(
"已将验证码发送到 "
+
email
)
,
HttpStatus
.
OK
);
}
}
src/main/java/cn/drive/entity/User.java
View file @
3e9b05d8
package
cn
.
drive
.
entity
;
import
lombok.Data
;
import
javax.validation.constraints.Email
;
@Data
public
class
User
{
@Email
(
message
=
"邮箱格式不正确"
)
private
String
email
;
...
...
src/main/java/cn/drive/enums/SysErrorEnum.java
0 → 100644
View file @
3e9b05d8
package
cn
.
drive
.
enums
;
public
enum
SysErrorEnum
{
EMAIL_ALREADY_TAKEN
(
1000
,
"邮箱已被占用"
);
private
final
int
code
;
private
final
String
msg
;
SysErrorEnum
(
int
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
public
int
getCode
()
{
return
code
;
}
public
String
getMsg
()
{
return
msg
;
}
}
src/main/java/cn/drive/exception/ExceptionType.java
deleted
100644 → 0
View file @
453aeea9
package
cn
.
drive
.
exception
;
public
enum
ExceptionType
{
EMAIL_ALREADY_TAKEN
(
"邮箱已被占用"
);
String
value
;
ExceptionType
(
String
value
)
{
this
.
value
=
value
;
}
String
getValue
()
{
return
this
.
value
;
}
}
src/main/java/cn/drive/exception/GlobalExceptionHandler.java
0 → 100644
View file @
3e9b05d8
package
cn
.
drive
.
exception
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
org.springframework.web.context.request.WebRequest
;
import
org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler
;
import
static
org
.
springframework
.
http
.
HttpStatus
.
UNPROCESSABLE_ENTITY
;
@RestControllerAdvice
public
class
GlobalExceptionHandler
extends
ResponseEntityExceptionHandler
{
@ExceptionHandler
({
InvalidRequestException
.
class
})
public
ResponseEntity
<
Object
>
handleInvalidRequest
(
RuntimeException
e
,
WebRequest
request
)
{
InvalidRequestException
ire
=
(
InvalidRequestException
)
e
;
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
return
handleExceptionInternal
(
e
,
null
,
headers
,
UNPROCESSABLE_ENTITY
,
request
);
}
}
src/main/java/cn/drive/exception/InvalidRequestException.java
0 → 100644
View file @
3e9b05d8
package
cn
.
drive
.
exception
;
import
org.springframework.validation.Errors
;
@SuppressWarnings
(
"serial"
)
public
class
InvalidRequestException
extends
RuntimeException
{
}
src/main/java/cn/drive/exception/SysException.java
0 → 100644
View file @
3e9b05d8
package
cn
.
drive
.
exception
;
import
cn.drive.enums.SysErrorEnum
;
import
lombok.Data
;
@Data
public
class
SysException
extends
RuntimeException
{
private
final
int
code
;
private
final
String
msg
;
public
SysException
(
int
code
,
String
msg
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
}
public
SysException
(
SysErrorEnum
sysErrorEnum
)
{
this
.
code
=
sysErrorEnum
.
getCode
();
this
.
msg
=
sysErrorEnum
.
getMsg
();
}
}
src/main/java/cn/drive/mapper/UserMapper.java
View file @
3e9b05d8
...
...
@@ -2,9 +2,8 @@ package cn.drive.mapper;
import
cn.drive.entity.User
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.springframework.stereotype.Component
;
import
java.util.Optional
;
@Component
public
interface
UserMapper
extends
BaseMapper
<
User
>
{
Optional
<
User
>
isEmailAlreadyTaken
(
String
email
);
}
src/main/java/cn/drive/service/UserService.java
View file @
3e9b05d8
...
...
@@ -4,5 +4,5 @@ import cn.drive.entity.User;
import
com.baomidou.mybatisplus.extension.service.IService
;
public
interface
UserService
extends
IService
<
User
>
{
public
void
sendVerificationCode
(
String
email
);
void
sendVerificationCode
(
String
email
);
}
src/main/java/cn/drive/service/impl/UserServiceImpl.java
View file @
3e9b05d8
package
cn
.
drive
.
service
.
impl
;
import
cn.drive.entity.User
;
import
cn.drive.exception.ExceptionType
;
import
cn.drive.enums.SysErrorEnum
;
import
cn.drive.exception.InvalidRequestException
;
import
cn.drive.mapper.UserMapper
;
import
cn.drive.service.UserService
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
@Service
public
class
UserServiceImpl
extends
ServiceImpl
<
UserMapper
,
User
>
implements
UserService
{
// @Resource
// @Resource
// UserMapper userMapper;
@Resource
UserService
userService
;
...
...
@@ -19,10 +21,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
public
void
sendVerificationCode
(
String
email
)
{
// EntityWrapper<User>
// userMapper.selectOne()
QueryWrapper
<
User
>
queryWrapper
=
new
QueryWrapper
<
User
>();
QueryWrapper
<
User
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"email"
,
email
);
if
(
userService
.
getOne
(
queryWrapper
)
!=
null
)
{
throw
new
RuntimeException
(
String
.
valueOf
(
ExceptionType
.
EMAIL_ALREADY_TAKEN
));
//String.valueOf(SysErrorEnum.EMAIL_ALREADY_TAKEN)
throw
new
InvalidRequestException
();
}
}
}
src/main/java/cn/drive/vo/ResponseVO.java
0 → 100644
View file @
3e9b05d8
package
cn
.
drive
.
vo
;
import
cn.drive.enums.SysErrorEnum
;
import
cn.drive.exception.SysException
;
import
lombok.Data
;
@Data
public
class
ResponseVO
<
T
>
{
public
static
final
int
CODE_SUCCESS
=
0
;
public
static
final
int
CODE_FAILURE
=
-
1
;
public
static
final
String
MSG_SUCCESS
=
"请求成功"
;
public
static
final
String
MSG_FAILURE
=
"请求出错"
;
private
int
code
;
private
String
msg
;
private
T
data
;
public
ResponseVO
(
int
code
,
String
msg
,
T
data
)
{
this
.
code
=
code
;
this
.
msg
=
msg
;
this
.
data
=
data
;
}
public
static
ResponseVO
<?>
success
()
{
return
new
ResponseVO
<>(
CODE_SUCCESS
,
MSG_SUCCESS
,
null
);
}
public
static
<
T
>
ResponseVO
<?>
success
(
T
data
)
{
return
new
ResponseVO
<>(
CODE_SUCCESS
,
MSG_SUCCESS
,
data
);
}
public
static
ResponseVO
<?>
failure
()
{
return
new
ResponseVO
<>(
CODE_FAILURE
,
MSG_FAILURE
,
null
);
}
public
static
ResponseVO
<?>
failure
(
SysErrorEnum
errorEnum
)
{
return
new
ResponseVO
<>(
errorEnum
.
getCode
(),
errorEnum
.
getMsg
(),
null
);
}
public
static
ResponseVO
<?>
failure
(
SysException
sysException
)
{
return
new
ResponseVO
<>(
sysException
.
getCode
(),
sysException
.
getMsg
(),
null
);
}
public
int
getCode
()
{
return
code
;
}
public
void
setCode
(
int
code
)
{
this
.
code
=
code
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
public
T
getData
()
{
return
data
;
}
public
void
setData
(
T
data
)
{
this
.
data
=
data
;
}
}
src/main/resources/application.yml
View file @
3e9b05d8
spring
:
datasource
:
driver-class-name
:
com.mysql.cj.jdbc.Driver
url
:
jdbc:mysql://localhost:3306/yun_xin_drive?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username
:
root
password
:
123
mybatis-plus
:
mapper-locations
:
classpath*:/mapper/**Mapper.xml
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment