不做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 操作进行生成出来 。
让我们吧更多的时间放在逻辑上 。 增删改查用它来生成就好了!
文章插图
推荐阅读
- Flipper Zero将于下月发货:为极客打造的开源多功能小工具
- 完全开源、无专利掣肘,RISC-V会是芯片自主的关键解吗?| 年度行业研究
- 刘强东:永远不做王国
- 前瞻物联网产业全球周报第72期:腾讯云发布八款云原生系列产品,阿里发布开源量子模拟器“太章2.0”
- 苹果为何迟迟不做电视?是不屑于这点利润还是另有所图
- 打破开发壁垒,2020深度学习开发者峰会百度飞桨认证PPDE分享开源收获
- 小米11内核开源 支持多功能NFC和红外遥控
- 开源开发者尝试为任天堂N64主机带来了新的Linux内核移植
- 资源|微软亚洲研究院发布开源平台“群策 MARO”用于多智能体资源调度优化
- 联邦学习新时代即将到来?同盾科技FLEX协议开源