服务端(Cursor)-接口开发(员工管理) 编写提示语

简介: 基于SpringBoot+Mybatis实现员工管理功能,涵盖分页查询、新增、修改、删除及工作经历维护。支持多条件筛选与级联操作,结合PageHelper高效分页,快速构建稳定RESTful接口。

在部门管理的基础之上,这里我们直接编写提示语即可
请根据提供的表结构、接口文档 以及页面原型和需求说明(图片),基于 SpringBoot+Mybatis+PageHelper 帮我完成员工管理的功能接口开发(使用JDK1.8之后的新语法)。

  1. 要操作的是员工表emp 以及员工的工作经历表 emp_expr,具体的表结构如下:
    CREATE TABLE emp (
    id INT AUTO_INCREMENT PRIMARY KEY COMMENT '员工ID',
    username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名(2-20位)',
    password VARCHAR(64) DEFAULT '123456' COMMENT '登录密码',
    name VARCHAR(10) NOT NULL COMMENT '姓名(2-10位)',
    gender TINYINT COMMENT '性别, 1: 男, 2: 女',
    phone CHAR(11) NOT NULL UNIQUE COMMENT '手机号(11位)',
    position TINYINT COMMENT '职位, 1: 班主任, 2: 讲师, 3: 学工主管, 4: 教研主管, 5: 咨询师',
    salary INT COMMENT '薪资(整数存储)',
    image VARCHAR(255) COMMENT '头像路径',
    hire_date DATE COMMENT '入职日期',
    dept_id INT COMMENT '所属部门ID',
    create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后操作时间'
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工信息表';

CREATE TABLE emp_expr (
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '经历ID',
emp_id INT COMMENT '关联员工的ID',
company VARCHAR(50) COMMENT '公司名称',
position VARCHAR(50) COMMENT '担任职位',
start_date DATE COMMENT '开始日期',
end_date DATE COMMENT '结束日期'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工工作经历表';

  1. 员工管理中一共包含6个接口,具体的接口信息如下:
    2.1 员工列表查询

      请求路径:/emps
      请求方式:GET
      请求参数:
          name: 姓名,可选
          gender: 性别,可选
          begin: 入职日期的开始时间,可选
          end: 入职日期的结束时间,可选
          page: 页码,默认1
          pageSize: 每页展示记录数,默认10
      请求样例:
          /emps?page=1&pageSize=10
          /emps?name=张&page=1&pageSize=10
          /emps?gender=1&page=1&pageSize=10
          /emps?name=张&gender=1&page=1&pageSize=10
          /emps?name=张&gender=1&begin=2007-09-01&end=2022-09-01&page=1&pageSize=10
      响应数据格式:
          {
            "code": 1,
            "msg": "success",
            "data": {
              "total": 2,
              "rows": [
                 {
                  "id": 1,
                  "username": "jinyong",
                  "name": "金庸",
                  "gender": 1,
                  "image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
                  "position": 2,
                  "salary": 8000,
                  "hireDate": "2015-01-01",
                  "deptId": 2,
                  "deptName": "教研部",
                  "createTime": "2022-09-01T23:06:30",
                  "updateTime": "2022-09-02T00:29:04"
                },
                {
                  "id": 2,
                  "username": "zhangwuji",
                  "name": "张无忌",
                  "gender": 1,
                  "image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
                  "position": 2,
                  "salary": 6000,
                  "hireDate": "2015-01-01",
                  "deptId": 2,
                  "deptName": "教研部",
                  "createTime": "2022-09-01T23:06:30",
                  "updateTime": "2022-09-02T00:29:04"
                }
              ]
            }
          }
    
     2.2 删除员工
         请求路径:/emps
         请求方式:DELETE
         请求参数:ids ,为路径参数
         请求样例:/emps?ids=1,2,3
         响应数据格式:
             {
                 "code":1,
                 "msg":"success",
                 "data":null
             }
    
     2.3 添加员工
         请求路径:/emps
         请求方式:POST
         请求样例:
             {
               "image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-03-07-37-38222.jpg",
               "username": "linpingzhi",
               "name": "林平之",
               "gender": 1,
               "position": 1,
               "hireDate": "2022-09-18",
               "deptId": 1,
               "phone": "18809091234",
               "salary": 8000,
               "exprList": [
                   {
                      "company": "百度科技股份有限公司",
                      "position": "java开发",
                      "startDate": "2012-07-01",
                      "endDate": "2019-03-03"
                   },
                   {
                      "company": "阿里巴巴科技股份有限公司",
                      "position": "架构师",
                      "startDate": "2019-03-15",
                      "endDate": "2023-03-01"
                   }
                ]
             }
         响应数据格式:
             {
                 "code":1,
                 "msg":"success",
                 "data":null
             }
    
     2.4 根据ID查询
         请求路径:/emps/{id}
         请求方式:GET
         请求参数:id ,为路径参数
         请求样例:/emps/1, /emps/2
         响应数据格式:
             {
               "code": 1,
               "msg": "success",
               "data": {
                 "id": 2,
                 "username": "zhangwuji",
                 "name": "张无忌",
                 "gender": 1,
                 "image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
                 "position": 2,
                 "salary": 8000,
                 "hireDate": "2015-01-01",
                 "deptId": 2,
                 "createTime": "2022-09-01T23:06:30",
                 "updateTime": "2022-09-02T00:29:04",
                 "exprList": [
                   {
                     "id": 1,
                     "startDate": "2012-07-01",
                     "endDate": "2019-03-03"
                     "company": "百度科技股份有限公司"
                     "position": "java开发",
                     "empId": 2
                   },
                   {
                     "id": 2,
                     "startDate": "2019-3-15",
                     "endDate": "2023-03-01"
                     "company": "阿里巴巴科技股份有限公司"
                     "position": "架构师",
                     "empId": 2
                   }
                 ]
               }
             }
    
     2.5 修改员工
         请求路径:/emps
         请求方式:PUT
         请求样例:
             {
                 "id": 2,
                 "username": "zhangwuji",
                 "password": "123456",
                 "name": "张无忌",
                 "gender": 1,
                 "image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
                 "position": 2,
                 "salary": 8000,
                 "hireDate": "2015-01-01",
                 "deptId": 2,
                 "createTime": "2022-09-01T23:06:30",
                 "updateTime": "2022-09-02T00:29:04",
                 "exprList": [
                   {
                     "id": 1,
                     "startDate": "2012-07-01",
                     "endDate": "2015-06-20"
                     "company": "中软国际股份有限公司"
                     "position": "java开发",
                     "empId": 2
                   },
                   {
                     "id": 2,
                     "startDate": "2015-07-01",
                     "endDate": "2019-03-03"
                     "company": "百度科技股份有限公司"
                     "position": "java开发",
                     "empId": 2
                   },
                   {
                     "id": 3,
                     "startDate": "2019-3-15",
                     "endDate": "2023-03-01"
                     "company": "阿里巴巴科技股份有限公司"
                     "position": "架构师",
                     "empId": 2
                   }
                 ]
               }
         响应数据格式:
             {
                 "code":1,
                 "msg":"success",
                 "data":null
             }
    
     2.6 查询全部员工
         请求路径:/emps/list
         请求方式:GET
         请求参数:无
         响应数据格式:
             {
               "code": 1,
               "msg": "success",
               "data": [
                 {
                   "id": 21,
                   "username": "zcc",
                   "password": "123456",
                   "name": "周星驰",
                   "gender": 1,
                   "image": "https://web-65.oss-cn-beijing.aliyuncs.com/99c143e9-0241-41f3-bc55-dd5e4e0824f4.jpg",
                   "position": 1,
                   "salary": 8000,
                   "hireDate": "2023-04-23",
                   "deptId": 2,
                   "createTime": "2023-05-26T17:25:01",
                   "updateTime": "2023-06-04T19:25:15"
                 },
                 {
                   "id": 6,
                   "username": "xiaozhao",
                   "password": "123456",
                   "name": "小昭",
                   "gender": 2,
                   "image": "https://web-65.oss-cn-beijing.aliyuncs.com/da94dc38-f165-480c-b8b7-0b3f4bcd1602.jpg",
                   "position": 3,
                   "salary": 8000,
                   "hireDate": "2013-09-05",
                   "deptId": 1,
                   "createTime": "2023-04-07T11:16:00",
                   "updateTime": "2023-04-14T08:22:41"
                 }
               ]
             }
    

    执行提示语
    因为这里我们额外增加了需求说明的描述,所以需要多上传一个文件,操作细节如下:

选择完毕之后,就可以提交生成代码了

代码运行
两个,依次点击删除一下

然后再次打开maven执行命令窗口:

输入命令执行:mvn spring-boot:run
但是这一次启动,你会发现存在大量报错信息:

现在有了Cursor,我们解决bug的速度将会更快,直接复制所有的错误信息,粘贴到右下角,输入提示词

然后他会快速给你一些修正建议,确认无误后点击Accept All:

然后再次启动项目,立马成功。不得不惊叹AI解决BUG的速度,如此之高效

代码测试
● 分页查询员工

● 删除员工

相关文章
|
2天前
|
Java API
用链表实现队列/栈
本文介绍如何用链表实现栈和队列,利用双链表头尾操作均为O(1)的特性,通过调用LinkedList API高效实现。栈可选头部或尾部作栈顶,队列同理,只需调整增删位置。文末引出数组实现队列的性能问题,启发优化思考。
|
2天前
|
存储 API 索引
队列/栈基本原理 ❗前置知识
本文介绍队列和栈两种“操作受限”的数据结构:队列遵循先进先出(FIFO),只能队尾入、队头出;栈遵循先进后出(FILO),仅在栈顶进行增删操作。二者底层多由数组或链表实现,核心API包括push、pop、peek和size,是后续复杂数据结构的基础。
|
2天前
|
Java 索引 容器
单/双链表代码实现
本文详解双链表与单链表的 MyLinkedList 实现,重点介绍三个关键优化:1)同时持有头尾节点引用,提升尾部操作效率;2)使用虚拟头尾节点简化边界处理;3)解析链表删除中的内存泄露误区,并强调指针置空的良好编程习惯。
|
2天前
|
消息中间件 Kubernetes 网络协议
别老想着怎么用好 RPC 框架,你得多花时间琢磨原理
2011年加入京东,亲历技术演进,现任技术架构部首席架构师。主导微服务、消息中间件等核心系统研发,深耕分布式架构。课程涵盖RPC基础、进阶与高级实战,带你掌握网络通信核心,构建高效可靠分布式系统。(238字)
|
2天前
|
算法 Java 索引
双指针技巧秒杀七道数组题目
本文介绍双指针技巧在数组和链表中的应用,重点解析快慢指针如何实现原地修改。通过LeetCode经典题如删除有序数组/链表重复项,展示如何用慢指针记录结果、快指针遍历数据,高效完成去重,时间复杂度O(N),避免频繁数据搬移。
|
2天前
|
算法
双指针技巧秒杀七道链表题目
本文总结单链表七大技巧:合并有序链表、链表分解、合并K个有序链表、找倒数第k个节点、找中点、判断环及起点、判断相交及交点,均基于双指针思想,涵盖LeetCode多道经典题目,助你系统掌握链表算法核心。
|
2天前
|
存储 缓存 算法
学习数据结构和算法的框架思维
本文系统总结数据结构与算法本质:所有数据结构皆源于数组和链表,核心操作为遍历与访问;算法本质是穷举,关键在于无遗漏、无冗余。文章提炼出通用框架,帮助读者建立计算机思维,掌握高效解题方法,适合初学者建立全局观,也适合进阶者温故知新。
|
2天前
|
JSON 前端开发 Java
另外几个接口文档
提供班级与学员信息管理功能,支持班级列表分页查询、添加、修改、删除及详情查看,同时支持学员信息条件查询,涵盖基本信息、班级关联、学历等字段,便于高效管理教学资源。
|
2天前
|
Java
多叉树的递归/层序遍历
多叉树是二叉树的扩展,节点可有多个子节点。遍历方式与二叉树类似,DFS无中序位置,BFS通过队列实现,支持按层遍历并记录深度,代码结构清晰,易于扩展。
|
2天前
|
算法
二叉树的递归/层序遍历
递归遍历(DFS)按固定顺序访问节点,前/中/后序取决于代码位置。层序遍历(BFS)借助队列实现,可逐层访问,常见写法能记录层数,适用于求深度、分层处理等场景。