赞
踩
不参与打包jar包
<packaging>pom</packaging>
接口文档:ApiFox
<dependencies>用于公共的依赖,默认都会下载,<dependencyManagement>只有在子类去引用时才会下载。
@TableName的作用就是在类名和数据库中的表名不一致时确定某个实体类对应数据库中哪个表。
@RequiredArgsConstructor
:@RequiredArgsConstructor
是Lombok的一个注解,简化了我们对@Autowired书写,我们在写Controller层或者Service层的时候,总是需要注入很多mapper接口或者service接口,如果每个接口都写上@Autowired,这样看起来就会很繁琐。
DAO:
data access object数据访问对象
主要用来封装对数据库的访问。通过它可以把POJO持久化为PO,用PO组装出来VO、DTO
DTO :
Data Transfer Object数据传输对象
主要用于远程调用等需要大量传输对象的地方。
比如我们一张表有100个字段,那么对应的PO就有100个属性。
但是我们界面上只要显示10个字段,
客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,
这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。
LambdaQueryWrapper是MyBatis-Plus提供的一种查询构建器,可以通过Lambda表达式来构建查询条件,使用起来比传统的SQL语句更加简洁和易读。
LambdaQueryWrapper用法超详细讲解-CSDN博客
在进行null判断返回-1状态码的时候,如果报java.lang.IllegalArgumentException: Source must not be null错误,那是因为需要在UserServiceImpl里面进行userDO的判空操作,否则copyproperties函数会报错。
- @Service
- public class UserServiceImpl extends ServiceImpl<UserMapper, UserDO> implements UserService {
-
- @Override
- public UserRespDTO getUserByUsername(String username) {
- LambdaQueryWrapper<UserDO> queryWrapper = Wrappers.lambdaQuery(UserDO.class)
- .eq(UserDO::getUsername, username);
- UserDO userDO = baseMapper.selectOne(queryWrapper);
- UserRespDTO result = new UserRespDTO();
-
- if(userDO != null){
- BeanUtils.copyProperties(userDO, result); // 此方法需要判空才可以,否则会报错
- return result;
- } else {
- return null;
- }
-
- }
- }
controller里是禁止写业务代码的,如判断之类的。
参考Java开发手册(泰山版)
异常码重点规范。
1)错误码为字符串类型,共 5 位,分成两个部分:错误产生来源+四位数字编号。
说明:错误产生来源分为 A/B/C。A 表示错误来源于用户,比如参数错误,用户安装版本过低,用户支付
超时等问题;B 表示错误来源于当前系统,往往是业务逻辑出错,或程序健壮性差等问题;C 表示错误来源
于第三方服务,比如 CDN 服务出错,消息投递超时等问题。四位数字编号从 0001 到 9999,大类之间的步长间距预留 100。
2)编号不与公司业务架构,更不与组织架构挂钩,一切与平台先到先申请的原则进行,审批生效,编号即被永久固定。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。