不做CRUD的我开源了Springboot API一键生成器( 二 )

SaveAOSaveAO 一般就是前端 填写表单入参的信息, 当然我们能直接使用 DO 进行携带参数 。 那样不安全 。 AO 将参数从 Controller
携带后 , 通过 javax.validation.Valid 对字段进行校验后、方可进行下一步 。

  • SaveAO 将参数从 Controller 传递到 Service 处理逻辑
  • Controller 入参的时候 , 检验 SaveAO 所包含的参数 。 @NotBlank@NotNull略...
  • @ApiModelProperty 说明参数注释信息
@Getter@Setterpublic class UmsAdminSaveAO {/*** 用户名*/@NotBlank@ApiModelProperty("用户名")private String username;/*** 密码*/@NotBlank@ApiModelProperty("密码")private String password;/*** 头像*/@ApiModelProperty("头像")private String icon;/*** 0锁定1正常使用*/@NotNull@ApiModelProperty("0锁定1正常使用")private Integer lock;/*** 电子邮箱*/@NotBlank@ApiModelProperty("电子邮箱")private String email;/*** 昵称*/@ApiModelProperty("昵称")private String nickName;/*** 备注信息*/@ApiModelProperty("备注信息")private String note;}当然 。 这里的所有参数都是可以自定义的 。 你想要哪些 , 就生成哪些~
Service
  • Service 负责将 Controller 传递的 AO 复制到 DO(Database Object)。
  • 调用 Mapper 的方法进行持久化 。
  • Service 返回一个 成功或者失败的标志 。
  • 逻辑异常 , 抛出一个异常信息【例如这个ID 找不到用户 。。。 】 , 全局捕获后 , 返回给前端进行提示 。
@Servicepublic class UmsAdminServiceimpl implements UmsAdminService {@Autowiredprivate UmsAdminMapper umsAdminMapper;@Overridepublic List findAll() {return umsAdminMapper.selectList(null);}@Overridepublic Page findPage(UmsAdminPageAO pageAO) {Page page = new Page(pageAO.getCurrent(),pageAO.getSize());QueryWrapper wrapper = new QueryWrapper();wrapper.eq("`username`", pageAO.getUsername());wrapper.eq("`lock`", pageAO.getLock());wrapper.eq("`note`", pageAO.getNote());umsAdminMapper.selectPage(page, wrapper);return page;}@Overridepublic boolean save(UmsAdminSaveAO params) {UmsAdminModel model = new UmsAdminModel();BeanUtils.copyProperties(params,model);/*** 你的逻辑写在这里*/int num = umsAdminMapper.insert(model);return SqlHelper.retBool(num);}@Overridepublic boolean updateById(UmsAdminSaveAO params, Integer id) {UmsAdminModel model = new UmsAdminModel();BeanUtils.copyProperties(params,model);/*** 你的逻辑写在这里*/model.setId(id);int num = umsAdminMapper.updateById(model);return SqlHelper.retBool(num);}@Overridepublic boolean deleteById(Integer id) {/*** 你的逻辑写在这里*/int num = umsAdminMapper.deleteById(id);return SqlHelper.retBool(num);}}Mapper
  • 继承 Mybatis-Plus BaseMapper 获得基础CRUD 能力 。
public interface UmsAdminMapper extends BaseMapper { // 继承mybatis-plus 获得基础crud}看完以上生成的代码 。 是否对你现在的项目有帮助呢?如果有的话~请继续看下去 。
RestController 模式概括一下 , 我们常用的一般模式按照图解的话 , 其实就是这样的 。 bye-crud-generate 其实就是将这个流程的crud 操作进行生成出来 。
让我们吧更多的时间放在逻辑上 。 增删改查用它来生成就好了!
不做CRUD的我开源了Springboot API一键生成器文章插图


推荐阅读