IDEA(Java Web 开发) 实时代码模板合集

简述

本文主要记录和收集使用IDEA开发JavaWeb项目时,常用的自定义实时模板。有关IDEA自定义模板的使用,请参考 IntelliJ IDEA实时代码模板(Live Templates) 。

一、Controller层 基础CRUD

注意:本模板使用的环境为:springMVC + mybatis-plus

@Resource
$I$ service;@ApiOperation(value = "添加资源", notes = "添加资源")
@PostMapping("/add")
public boolean add(@RequestBody $o$ o) {return service.save(o);
}@ApiOperation(value = "删除资源", notes = "删除资源")
@GetMapping("/delete/{id}")
public boolean delete(@PathVariable String id) {return service.removeById(id);
}@ApiOperation(value = "更新资源", notes = "更新资源")
@PostMapping("/update")
public boolean update(@RequestBody $o$ o) {return service.updateById(o);
}@ApiOperation(value = "获取资源", notes = "根据id获取资源")
@GetMapping("/get/{id}")
public $o$ get(@PathVariable String id) {return service.getById(id);
}@ApiOperation(value = "获取资源列表", notes = "多重条件")
@PostMapping("/list")
public Page<$o$> list(@RequestBody BaseListParams pageInfo) {return service.page(getPageParams(pageInfo), getQueryParams(pageInfo));
}

本模板中使用到的自定义相关方法和对象

1.BaseListParams 基础查询条件对象

import com.baomidou.mybatisplus.core.metadata.OrderItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import java.util.List;/*** @author Flyer-gengxin.du* @version 1.0.0* @description 基础列表数据请求参数* @since 2022/1/8 15:46*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
public class BaseListParams<T>  {@ApiModelProperty("当前页")private long current;@ApiModelProperty("每页数据大小")private long size;@ApiModelProperty("分组")private String groupBy;@ApiModelProperty("求和")private String sumBy;@ApiModelProperty("排序")List<OrderItem> orders;@ApiModelProperty("sql条件拼接")private String filterStr;@ApiModelProperty("查询字段")private String queryField;@ApiModelProperty("启动缓存")private boolean startCache;@ApiModelProperty("其他参数")private T entity;
}

2.getQueryParams(BaseListParams blp): 根据基础查询字段对象 获取QueryWrapper (mybatis-plus 条件构造器)

public QueryWrapper<T> getQueryParams(BaseListParams blp) {QueryWrapper<T> qw = new QueryWrapper<>();if (!StringUtils.isEmpty(blp.getQueryField()))qw.select(blp.getFilterStr());if (!StringUtils.isEmpty(blp.getFilterStr())) {qw.apply(blp.getFilterStr());}if (!StringUtils.isEmpty(blp.getGroupBy())) {qw.groupBy(blp.getGroupBy());}return qw;}

3.getPageParams(BaseListParams blp): 根据基础查询字段对象 获取Page(mybatis-plus 分页插件)对象

public Page<T> getPageParams(BaseListParams blp) {Page<T> page = new Page<>();if (0 != blp.getCurrent())page.setCurrent(blp.getCurrent());if (0 != blp.getSize())page.setSize(blp.getSize());if (blp.getOrders() != null)page.setOrders(blp.getOrders());return page;}

二 持续更新中…

IDEA(Java Web 开发) 实时代码模板合集相关推荐

  1. Java Web开发API Boy如何进阶?

    导语 | Java Web后台开发基本都离不开Spring生态这一套,Spring框架功能极其强大,会帮忙做许多工作,我们通常只需要在一个函数(包含request和response两个入参)中写处理逻 ...

  2. java web开发学习总结

    java web 开发基础内容理解 解决中文乱码问题 请求参数乱码 输出乱码 jsp的运行原理 GET请求和POST请求的区别 静态包含和动态包含 静态包含 动态包含 两者的区别 Cookie和Ses ...

  3. Java基础能力精选文章合集200篇

    小编根据知识图谱整理了CSDN技术大咖的优质文章200篇,帮助Java工程提升基础能力,实现系统化持续学习! Java工程师基础能力文章200篇大合集包含: [JavaSE]30篇.[Lambda表达 ...

  4. java web开发初学_2018年学习Web开发的绝对初学者指南

    java web开发初学 This post was originally published on Coder-Coder.com. 该帖子最初发布在Coder-Coder.com上 . If yo ...

  5. java sessionstate_在Java Web开发中自定义Session

    Session在存储安全性要求较高的会话信息方面是必不可少的,对于分布式Web应用自定义Session支持独立的状态服务器或集群是必须的.本文就来教大家如何在Java Web开发中自定义Session ...

  6. java web 开发技术大全 代码_Java Web开发技术大全

    资深程序员全力打造,深入剖析SSH框架整合开发的精髓 全方位解读Java Web开发的基础知识.高级技术及应用案例 内容全面,讲解详细,全面覆盖JSP.Se rvlet.AJAX及SSH框架整合开发 ...

  7. [转载] Python Web开发—进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程

    参考链接: 在Python中创建代理Web服务器 2 Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python We ...

  8. 《Java Web开发实战》Java工程师推荐的进阶之路

    <Java Web开发实战>一书更加趋于实战性.此教材由浅入深.循序渐进,在语法阐述时尽量避免术语和公式,使初学者能够快速入门,全面掌握实战技能.它既可以作为高等院校本.专科计算机相关专业 ...

  9. 名师讲坛——Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    [书名]<名师讲坛--Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax)> [作者]李兴华.王月清 [ISBN]9787302231585 ­}:YKf: ...

最新文章

  1. hdu 1228 A+B (字符串处理) 水
  2. mysql-win安装教程,WINDOWS下安装MYSQL教程详解
  3. XML布局中出现Exception raised during rendering异常
  4. 感知机(python实现)
  5. 长文 | 腾讯提出 AI For FEW 构想,呼吁人工智能为地球思考
  6. split分片主要源码解析
  7. 狸猫换太子:动态替换WinCE的原生驱动!
  8. 前端学习(3131):react-hello-react之总结ref
  9. python sys.path.append()添加路径_Python调用CST进行天线建模仿真:环境搭建指南
  10. 如何在MyEclipse上耍Chrome
  11. linux系统电脑接硬盘盒,在linux系统下添加新硬盘
  12. python视频人脸识别教程_Python学习笔记之视频人脸检测识别实例教程
  13. L1-012 计算指数 (5 分)—团体程序设计天梯赛
  14. 【虎牙直播源】浏览器抓取真实直播源地址(纯前端JS解析源码)
  15. 数论基础(浅谈数论的部分实现)
  16. 【Get深一度】矩形窗/bartlett/Blackman/hamming/Hanning/kaiser -相控阵雷达原理
  17. 29(将数字字符串转换成数字)
  18. 2021011086解祎梦实验五
  19. 图片标签和图片格式~
  20. 用对线阶段数据分析和预测《英雄联盟》的游戏结果

热门文章

  1. YGG 在 Branch.gg 的免费游戏 Castaways 中购买了 Genesis NFT
  2. 饥荒高脚鸟蛋孵化教程
  3. SPLAYER中文字幕乱码
  4. iOS真机不能运行,模拟器可以
  5. 封装、private、this、 setter/gette、构造方法和标准类的定义
  6. 浅谈MySQL安全加固
  7. 求负整数补码不用对原码+1进位的技巧
  8. 技术管理条线度量报告
  9. Win10关闭自动调节亮度
  10. unity调用安卓手机物理返回键和home键