|
|
|
|
# SpringBoot Note
|
|
|
|
|
自定义封装响应结果
|
|
|
|
|
|
|
|
|
|
```java
|
|
|
|
|
public enum ResponseCode {
|
|
|
|
|
ACCESS(1, "access"),
|
|
|
|
|
FAIL(404, "Not Found");
|
|
|
|
|
// 等等
|
|
|
|
|
|
|
|
|
|
private final Integer code;
|
|
|
|
|
private final String msg;
|
|
|
|
|
|
|
|
|
|
ResponseCode(int i, String msg){
|
|
|
|
|
this.code = i;
|
|
|
|
|
this.msg = msg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Integer code(){
|
|
|
|
|
return code;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String msg (){
|
|
|
|
|
return msg;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
然后自己在调用这个状态进行二次封装。
|
|
|
|
|
|
|
|
|
|
```java
|
|
|
|
|
|
|
|
|
|
import lombok.Getter;
|
|
|
|
|
import lombok.Setter;
|
|
|
|
|
import org.hibernate.validator.constraints.Length;
|
|
|
|
|
|
|
|
|
|
import java.io.Serializable;
|
|
|
|
|
import java.util.Stack;
|
|
|
|
|
|
|
|
|
|
public class ResponseResult<R> implements Serializable {
|
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
|
|
|
|
|
|
@Getter
|
|
|
|
|
@Setter
|
|
|
|
|
private String code;
|
|
|
|
|
|
|
|
|
|
@Getter
|
|
|
|
|
@Setter
|
|
|
|
|
private String msg;
|
|
|
|
|
|
|
|
|
|
@Getter
|
|
|
|
|
@Setter
|
|
|
|
|
private R data;
|
|
|
|
|
|
|
|
|
|
public static <T> ResponseResult<T> ok(int code, Integer insert, String msg) {
|
|
|
|
|
return restResult(null, HttpEnum.OK_200.code(), HttpEnum.OK_200.desc());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static <T> ResponseResult<T> ok(T data) {
|
|
|
|
|
return restResult(data, HttpEnum.OK_200.code(), HttpEnum.OK_200.desc());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static <T> ResponseResult<T> ok(T data, String msg) {
|
|
|
|
|
return restResult(data, HttpEnum.OK_200.code(), msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static <T> ResponseResult<T> failed() {
|
|
|
|
|
return restResult(null, HttpEnum.ERROR_500.code(),
|
|
|
|
|
HttpEnum.ERROR_500.desc());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static <T> ResponseResult<T> failed(String msg) {
|
|
|
|
|
return restResult(null, HttpEnum.ERROR_500.code(), msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static <T> ResponseResult<T> failed(int code, String msg) {
|
|
|
|
|
return restResult(null, code, msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static <T> ResponseResult<T> failed(T data) {
|
|
|
|
|
return restResult(data, HttpEnum.ERROR_500.code(),
|
|
|
|
|
HttpEnum.ERROR_500.desc());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static <T> ResponseResult<T> failed(T data, String msg) {
|
|
|
|
|
return restResult(data, HttpEnum.ERROR_500.code(), msg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static <R> ResponseResult<R> result(int code, String msg, T data){
|
|
|
|
|
ResponseResult<T> apiResult = new ResponseResult<>();
|
|
|
|
|
apiResult.setCode(code);
|
|
|
|
|
apiResult.setData(data);
|
|
|
|
|
apiResult.setMsg(msg);
|
|
|
|
|
return apiResult;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
随后即可调用
|
|
|
|
|
|
|
|
|
|
格式;
|
|
|
|
|
|
|
|
|
|
```java
|
|
|
|
|
ResponseResult<Users> funcation_name这里是方法名 () {
|
|
|
|
|
// 这里则是可以调用后面所编写好的服务层业务。
|
|
|
|
|
return ResponseResult<User>;
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 获取用户信息,以及字段信息。
|
|
|
|
|
最近这段⌚中,我一直在思考如何获取单个用户信息,以及用户的字段值。
|
|
|
|
|
而我所采用的思路一直都从json角度来思考如何通过for来一一获取。
|
|
|
|
|
就在刚才,上网 查询资料时,想到,既然service.select 获取到的结果是一个列表类型的结果集。
|
|
|
|
|
能不能通过它的类型查找相应的简单获取列表中的字段值呢?
|
|
|
|
|
|
|
|
|
|
果不其然,我在这个https://blog.csdn.net/weixin_45397785/article/details/119815189 帖子中查询到
|
|
|
|
|
如果返回的结果是一个列表,我们可以通过列表中的size函数来了解这个结果中有多少个用户信息。
|
|
|
|
|
然后,将查询到的打印出来的值为18个。和数据库中的用户数量一致。
|
|
|
|
|
|
|
|
|
|
接着,我们通过列表对象内的get函数来获取第几个用户的信息。
|
|
|
|
|
此时刻,它所返回的类型则是一个用户类型的数据。
|
|
|
|
|
也就是一个用户对象。然后剩下的就不言而喻,我们通过,我们事先定义好的用户类内的方法来
|
|
|
|
|
获取这个用户对象内的字段值。
|
|
|
|
|
其中的代码为:
|
|
|
|
|
```java
|
|
|
|
|
int in=2; // 定义一个数值来确定我们想要获取第几个用户的信息。
|
|
|
|
|
int size = service.select().size(); // 这里表示我们有多少个用户的信息。
|
|
|
|
|
|
|
|
|
|
// 接着我们用if 语句来判断这个列表的长度是否和我们想要的第几个用户的信息是否一样长。
|
|
|
|
|
// 当然这是个可有可无的判断。主要是为了方便自己的往后可以快速的了解信息。
|
|
|
|
|
// 所以才用这个老笨的办法。
|
|
|
|
|
if(size != in){
|
|
|
|
|
Users user = service.select.get(in);
|
|
|
|
|
// 这里我们可以试着打印这个对象是否和我们像要的对象是否一致。
|
|
|
|
|
System.out.println("用户信息:"+user);
|
|
|
|
|
// 如果不出意外是可以拿到用户的信息的。
|
|
|
|
|
String userName = user.getUserName();
|
|
|
|
|
System.out.println("用户名"+userName);
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
这样以上的笔记就是我获取用户的思路。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 逻辑
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
在服务层中我们可以获取到数据。
|
|
|
|
|
|
|
|
|
|
但服务层我们是用来处理业务的。
|
|
|
|
|
|
|
|
|
|
所以获取数据操作交给用户来操作。
|
|
|
|
|
|
|
|
|
|
做个持续化操作层。
|
|
|
|
|
|
|
|
|
|
以上逻辑pass
|
|
|
|
|
|
|
|
|
|
新》逻辑
|
|
|
|
|
|
|
|
|
|
持续化工具
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
# 业务实现
|
|
|
|
|
|
|
|
|
|
AOP事务
|
|
|
|
|
|
|
|
|
|
将数据表的关系设计好
|
|
|
|
|
在Mapper中,通过注释的形式来对其数据操作。
|
|
|
|
|
|
|
|
|
|
|