当前位置: 首页 > news >正文

tlias的部门的增删改查操作

  1. 查询操作:

controllor层:

@RestController public class DeptController { @Autowired private DeptService deptService; @GetMapping("/depts") public Result list(){ List<Dept> deptList= deptService.findAll(); return Result.success(deptList); } }

Service层:

@Service public class DeptServiceimpl implements DeptService { @Autowired private DeptMapper deptMapper; @Override public List<Dept> findAll() { return deptMapper.findAll(); } }

Mapper层:

@Mapper public interface DeptMapper { @Select("select id, name, create_time, update_time from dept order by update_time") List<Dept> findAll(); }

由于select中的create_time和update_time与实体类中的dept不同,所以查询出来的结果为空,如下图所示:

方法:

这三种方法都可以,建议使用开启驼峰命名

前后端联调:

Nginx的反向代理

2.根据id删除数据

方法一:要在url中带id,否则接口报错

方法二:

当注释了@RequestPara注解,该参数必须传递,接口后必须为/depts?id=?不然删除不成功,接口返回失败,可以设置required为false来关闭这个

方法三:省略@RequsetParam

url带不带id,接口都可以获取成功

新增部门:

@ResponseBody是将对象转为json格式传到客户端

用@RequestBody将json格式数据封装入Dept中,与上面区分开来

controller:

@PostMapping ("/depts") public Result add(@RequestBody Dept dept){ System.out.println("新增部门"+dept); deptService.add(dept); return Result.success(); }

Service:

@Override public void add(Dept dept) { //1.完善创建事件 dept.setCreateTime(LocalDateTime.now()); dept.setUpdateTime(LocalDateTime.now()); deptMapper.insert(dept); }

Mapper层:

@Insert("insert into dept(name, create_time, update_time) values(#{name}, #{createTime}, #{updateTime})") void insert(Dept dept);

3.修改数据

分两部:1.查询回显 2.修改数据

查询回显需要用到路径参数:用到PathVariable,如果参数值名称和路径参数id相同则可以省略其中的("id")

回显部分:

controller:

@GetMapping("/depts/{id}") public Result getInfo(@PathVariable Integer id){ System.out.println("根据id查询部门:" +id); Dept dept = deptService.getById(id); return Result.success(dept); }

Service:

@Override public Dept getById(Integer id) { Dept dept = deptMapper.getById(id); return dept; }

Mapper:

@Select("select id,name,dept.create_time,dept.update_time from dept where id = #{id}") Dept getById(Integer id);

2.数据修改:

controller:

@PutMapping("/depts") public Result update(@RequestBody Dept dept){ System.out.println("修改的部门" + dept); deptService.update(dept); return Result.success(); }

Service:

@Override public void update(Dept dept) { dept.setUpdateTime(LocalDateTime.now()); deptMapper.update(dept); }

Mapper:

@Update("update dept set name = #{name},update_time = #{updateTime} where id = #{id}") void update(Dept dept);

总结:

公共的路径都是/depts上可以抽取到类上

http://www.jsqmd.com/news/101068/

相关文章:

  • LangChain构建智能文档分析系统的7个核心技术模块
  • NVIDIA TensorRT-LLM高性能推理框架解析
  • LobeChat能否支持星际语言翻译?外星文明假说沟通模型构建
  • 问题:本地启动项目,想让其他人在他们自己的电脑也能访问该项目。需要怎么配置代理?
  • 生产环境Helm实战:从零搭建高可用应用发布流水线
  • 纪念币预约自动化终极指南:高效提升预约成功率
  • 跟着铁头山羊学STM32单片机(串口篇)
  • Unity游戏翻译终极方案:XUnity.AutoTranslator技术深度解析
  • 10分钟构建verification failed:(0x1a)错误监控原型
  • Helm vs 原生K8s:部署效率对比实测
  • 零基础入门:VSCode和Anaconda的Python开发环境搭建
  • LobeChat儿童故事创作助手趣味应用
  • LobeChat错误码对照表:快速定位请求失败原因
  • CallerRunPolicy vs AbortPolicy:性能对比与选择指南
  • 用XMRig快速验证挖矿算法原型
  • 企业级应用中的数据库连接异常处理实战
  • 强调智慧实验室管理系统的设计要考虑的几项问题
  • LobeChat能否定制品牌LOGO?白标解决方案
  • 如何用AI自动生成HTTP抓包工具?快马平台实战
  • LobeChat适配LoRA微调模型的方法与注意事项
  • 用D盾快速构建安全检测原型系统
  • 30秒创建!Ubuntu+Python+VSCode开发沙箱
  • AI如何帮你自动修复Linux挂载问题?
  • java计算机毕业设计书网 纸电融合知识共享平台 全域图书流转中枢
  • LobeChat能否集成代码高亮?编程问答场景增强显示
  • java计算机毕业设计校园服务平台 象牙塔一站式生活助手 高校圈随身万事通
  • 如何快速实现Unity游戏自动翻译?XUnity.AutoTranslator终极解决方案
  • 1小时搭建:VSCode远程开发环境原型
  • 企业文化三部经典著作推荐,做好企业文化建设必读
  • 效率对比:5种Ubuntu安装Node.js方法耗时测评