Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
一缕82年的清风
springboot-learning
提交
71978ea6
S
springboot-learning
项目概览
一缕82年的清风
/
springboot-learning
通知
601
Star
52
Fork
71
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
springboot-learning
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
71978ea6
编写于
1月 14, 2022
作者:
一缕82年的清风
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[A] JDbcTemplate代码提交
上级
88c6e543
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
315 addition
and
4 deletion
+315
-4
pom.xml
pom.xml
+14
-0
src/main/java/com/lsqingfeng/springboot/base/Result.java
src/main/java/com/lsqingfeng/springboot/base/Result.java
+1
-1
src/main/java/com/lsqingfeng/springboot/base/ResultCode.java
src/main/java/com/lsqingfeng/springboot/base/ResultCode.java
+1
-1
src/main/java/com/lsqingfeng/springboot/base/ResultCodeEnum.java
...n/java/com/lsqingfeng/springboot/base/ResultCodeEnum.java
+1
-1
src/main/java/com/lsqingfeng/springboot/controller/ThirdException.java
.../com/lsqingfeng/springboot/controller/ThirdException.java
+25
-0
src/main/java/com/lsqingfeng/springboot/dao/jdbcTemplate/UserDao.java
...a/com/lsqingfeng/springboot/dao/jdbcTemplate/UserDao.java
+50
-0
src/main/java/com/lsqingfeng/springboot/dao/jdbcTemplate/impl/UserDaoImpl.java
...ingfeng/springboot/dao/jdbcTemplate/impl/UserDaoImpl.java
+53
-0
src/main/java/com/lsqingfeng/springboot/entity/User.java
src/main/java/com/lsqingfeng/springboot/entity/User.java
+28
-0
src/main/java/com/lsqingfeng/springboot/exception/BizException.java
...ava/com/lsqingfeng/springboot/exception/BizException.java
+52
-0
src/main/java/com/lsqingfeng/springboot/exception/GlobalExceptionHandler.java
...qingfeng/springboot/exception/GlobalExceptionHandler.java
+82
-0
src/main/resources/application.yml
src/main/resources/application.yml
+8
-1
未找到文件。
pom.xml
浏览文件 @
71978ea6
...
...
@@ -39,5 +39,19 @@
<version>
1.18.22
</version>
<scope>
provided
</scope>
</dependency>
<!-- jdbcTemplate -->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-jdbc
</artifactId>
</dependency>
<!-- MySQL连接 -->
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
<scope>
runtime
</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
src/main/java/com/lsqingfeng/springboot/
vo/result
/Result.java
→
src/main/java/com/lsqingfeng/springboot/
base
/Result.java
浏览文件 @
71978ea6
package
com.lsqingfeng.springboot.
vo.result
;
package
com.lsqingfeng.springboot.
base
;
import
lombok.Data
;
...
...
src/main/java/com/lsqingfeng/springboot/
vo/result
/ResultCode.java
→
src/main/java/com/lsqingfeng/springboot/
base
/ResultCode.java
浏览文件 @
71978ea6
package
com.lsqingfeng.springboot.
vo.result
;
package
com.lsqingfeng.springboot.
base
;
import
lombok.Builder
;
import
lombok.Data
;
...
...
src/main/java/com/lsqingfeng/springboot/
vo/result
/ResultCodeEnum.java
→
src/main/java/com/lsqingfeng/springboot/
base
/ResultCodeEnum.java
浏览文件 @
71978ea6
package
com.lsqingfeng.springboot.
vo.result
;
package
com.lsqingfeng.springboot.
base
;
/**
* @enumName: ResultCodeEnum
...
...
src/main/java/com/lsqingfeng/springboot/controller/ThirdException.java
0 → 100644
浏览文件 @
71978ea6
package
com.lsqingfeng.springboot.controller
;
import
com.lsqingfeng.springboot.base.ResultCode
;
import
com.lsqingfeng.springboot.exception.BizException
;
import
com.lsqingfeng.springboot.vo.User
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @className: ThirdException
* @description:
* @author: sh.Liu
* @date: 2022-01-14 11:09
*/
@RestController
public
class
ThirdException
{
@GetMapping
(
"exception"
)
public
User
second
(){
System
.
out
.
println
(
1
);
throw
new
BizException
(
ResultCode
.
BIZ_ERROR
.
getCode
(),
"用户名密码错误"
);
}
}
src/main/java/com/lsqingfeng/springboot/dao/jdbcTemplate/UserDao.java
0 → 100644
浏览文件 @
71978ea6
package
com.lsqingfeng.springboot.dao.jdbcTemplate
;
import
com.lsqingfeng.springboot.entity.User
;
import
java.util.List
;
/**
* @interface: UserDao
* @description:
* @author: sh.Liu
* @date: 2022-01-14 16:37
*/
public
interface
UserDao
{
/**
* 根据id查询
* @param id
* @return
*/
User
getUserById
(
Integer
id
);
/**
* 查询所有用户
* @return
*/
List
<
User
>
listUser
();
/**
* 保存用户
* @param user
* @return
*/
int
save
(
User
user
);
/**
* 更新用户
* @param id
* @param user
* @return
*/
int
update
(
Integer
id
,
User
user
);
/**
* 删除用户
* @param id
* @return
*/
int
delete
(
Integer
id
);
}
src/main/java/com/lsqingfeng/springboot/dao/jdbcTemplate/impl/UserDaoImpl.java
0 → 100644
浏览文件 @
71978ea6
package
com.lsqingfeng.springboot.dao.jdbcTemplate.impl
;
import
com.lsqingfeng.springboot.dao.jdbcTemplate.UserDao
;
import
com.lsqingfeng.springboot.entity.User
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.jdbc.core.BeanPropertyRowMapper
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.stereotype.Repository
;
import
java.util.Date
;
import
java.util.List
;
/**
* @className: UserDaoImpl
* @description:
* @author: sh.Liu
* @date: 2022-01-14 16:40
*/
@Repository
public
class
UserDaoImpl
implements
UserDao
{
@Autowired
private
JdbcTemplate
jdbcTemplate
;
@Override
public
User
getUserById
(
Integer
id
)
{
User
user
=
jdbcTemplate
.
queryForObject
(
"select * from t_user where id = ?"
,
User
.
class
,
id
);
return
user
;
}
@Override
public
List
<
User
>
listUser
()
{
List
<
User
>
users
=
jdbcTemplate
.
queryForList
(
"select * from t_user"
,
User
.
class
);
return
users
;
}
@Override
public
int
save
(
User
user
)
{
return
jdbcTemplate
.
update
(
"insert into t_user(name, age, address, create_time, update_time) values(?, ?, ?)"
,
user
.
getName
(),
user
.
getAge
(),
user
.
getAddress
(),
new
Date
(),
new
Date
());
}
@Override
public
int
update
(
Integer
id
,
User
user
)
{
return
jdbcTemplate
.
update
(
"UPDATE t_user SET name = ? , age = ? ,address = ? ,update_time = ? WHERE id=?"
,
user
.
getName
(),
user
.
getAge
(),
user
.
getAddress
(),
new
Date
(),
id
);
}
@Override
public
int
delete
(
Integer
id
)
{
return
jdbcTemplate
.
update
(
"DELETE from tb_user where id = ? "
,
id
);
}
}
src/main/java/com/lsqingfeng/springboot/entity/User.java
0 → 100644
浏览文件 @
71978ea6
package
com.lsqingfeng.springboot.entity
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @className: User
* @description:
* @author: sh.Liu
* @date: 2022-01-14 16:35
*/
@Data
public
class
User
{
private
Integer
id
;
private
String
name
;
private
Integer
age
;
private
String
address
;
private
Date
createTime
;
private
Date
updateTime
;
}
src/main/java/com/lsqingfeng/springboot/exception/BizException.java
0 → 100644
浏览文件 @
71978ea6
package
com.lsqingfeng.springboot.exception
;
import
com.lsqingfeng.springboot.base.ResultCode
;
/**
* @className: BizException
* @description:
* @author: sh.Liu
* @date: 2022-01-14 11:00
*/
public
class
BizException
extends
RuntimeException
{
private
Integer
code
;
public
BizException
()
{
}
public
BizException
(
String
message
)
{
super
(
message
);
}
public
BizException
(
Integer
code
,
String
message
)
{
super
(
message
);
this
.
code
=
code
;
}
public
BizException
(
ResultCode
resultCode
)
{
super
(
resultCode
.
getMsg
());
this
.
code
=
resultCode
.
getCode
();
}
public
BizException
(
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
}
public
BizException
(
int
code
,
String
message
,
Throwable
cause
)
{
super
(
message
,
cause
);
this
.
code
=
code
;
}
public
BizException
(
ResultCode
resultCode
,
Throwable
cause
)
{
super
(
resultCode
.
getMsg
(),
cause
);
this
.
code
=
resultCode
.
getCode
();
}
public
Integer
getCode
()
{
return
this
.
code
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
}
src/main/java/com/lsqingfeng/springboot/exception/GlobalExceptionHandler.java
0 → 100644
浏览文件 @
71978ea6
package
com.lsqingfeng.springboot.exception
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.lsqingfeng.springboot.base.Result
;
import
com.lsqingfeng.springboot.base.ResultCode
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.core.annotation.Order
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.util.StringUtils
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.validation.FieldError
;
import
org.springframework.web.HttpMediaTypeNotSupportedException
;
import
org.springframework.web.HttpRequestMethodNotSupportedException
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ResponseStatus
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.PrintWriter
;
import
java.io.StringWriter
;
import
java.util.List
;
/**
* @className: GlobalExceptionHandler
* @description:
* @author: sh.Liu
* @date: 2022-01-14 11:03
*/
@RestControllerAdvice
@Order
(
1
)
public
class
GlobalExceptionHandler
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
GlobalExceptionHandler
.
class
);
public
GlobalExceptionHandler
()
{
}
private
String
handlerErrors
(
BindingResult
bindingResult
)
{
List
<
FieldError
>
errors
=
bindingResult
.
getFieldErrors
();
FieldError
error
=
(
FieldError
)
errors
.
get
(
0
);
return
error
.
getDefaultMessage
();
}
@ExceptionHandler
({
BizException
.
class
})
public
Result
<?>
bizExceptionHandler
(
HttpServletRequest
request
,
BizException
e
)
{
Result
<?>
result
=
Result
.
error
(
e
.
getCode
()
==
null
?
ResultCode
.
BIZ_ERROR
.
getCode
()
:
e
.
getCode
(),
e
.
getMessage
());
return
this
.
printLogAndReturn
(
request
,
result
,
e
);
}
@ExceptionHandler
({
HttpRequestMethodNotSupportedException
.
class
,
HttpMediaTypeNotSupportedException
.
class
})
public
Result
<?>
httpRequestMethodNotSupportedExceptionHandler
(
HttpServletRequest
request
,
Exception
e
)
{
Result
<?>
result
=
Result
.
error
(
ResultCode
.
REQ_MODE_NOT_SUPPORTED
);
return
this
.
printLogAndReturn
(
request
,
result
,
e
);
}
@ExceptionHandler
({
Exception
.
class
})
@ResponseStatus
(
HttpStatus
.
INTERNAL_SERVER_ERROR
)
public
Result
<?>
exceptionHandler
(
HttpServletRequest
request
,
Exception
e
)
{
Result
<?>
result
=
Result
.
error
(
ResultCode
.
SYS_ERROR
);
return
this
.
printLogAndReturn
(
request
,
result
,
e
);
}
private
Result
<?>
printLogAndReturn
(
HttpServletRequest
request
,
Result
<?>
result
,
Exception
e
)
{
ObjectMapper
mapper
=
new
ObjectMapper
();
String
requestUrl
=
request
.
getRequestURL
().
toString
()
+
(!
StringUtils
.
hasLength
(
request
.
getQueryString
())
?
""
:
"?"
+
request
.
getQueryString
());
try
{
log
.
error
(
"<-异常返回-> 请求接口:{} | 异常时间:{} | 异常结果:{}"
,
new
Object
[]{
requestUrl
,
System
.
currentTimeMillis
(),
mapper
.
writeValueAsString
(
result
)});
}
catch
(
JsonProcessingException
jsonProcessingException
)
{
jsonProcessingException
.
printStackTrace
();
}
log
.
error
(
"<--异常堆栈信息-->"
);
StringWriter
stringWriter
=
new
StringWriter
();
e
.
printStackTrace
(
new
PrintWriter
(
stringWriter
));
log
.
error
(
stringWriter
.
toString
());
return
result
;
}
}
src/main/resources/application.yml
浏览文件 @
71978ea6
server
:
port
:
9090
port
:
9092
spring
:
datasource
:
driver-class-name
:
com.mysql.jdbc.Driver
url
:
jdbc:mysql://localhost:3306/springboot_learning
username
:
root
password
:
root
third
:
weather
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录