服务端(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的速度,如此之高效

代码测试
● 分页查询员工

● 删除员工

相关文章
|
6月前
|
SQL 人工智能 Java
30分钟轻松掌握Cursor,快速提升开发效率和体验
本文通过在WebX老项目中实践,验证了Cursor利用AI大模型可高效生成符合老旧项目规范的代码框架,显著提升开发效率与体验。
30分钟轻松掌握Cursor,快速提升开发效率和体验
|
22天前
|
人工智能 安全 网络安全
200小时实战总结!OpenClaw(Clawdbot)零基础阿里云/本地部署+安全养成及避坑指南
OpenClaw(俗称“小龙虾”)绝非开箱即用的工具,而是一个足够开放的“毛坯房”——想要它成为能自主进化、高效协作的“数字分身”,必须经历系统性的“养成”过程。正如开发者花费200小时、投入200美元熬成高阶OpenClaw“DeepEye”的经历所示:跳过基础配置直接干活,只会陷入“配置崩溃、技能失效、重复返工”的恶性循环;而按正确顺序搭建基建、配置技能、建立进化机制,才能让OpenClaw从“只会犯错的工具”成长为“共同进化的伙伴”。
1218 4
|
JavaScript 内存技术
Node版本管理工具 - Nvm的下载、安装配置与使用
Node版本管理工具 - Nvm的下载、安装配置与使用
4625 0
|
21天前
|
人工智能 运维 API
OpenClaw 快速上手:从介绍到部署全流程
OpenClaw是2026年爆火的开源AI自动化代理,GitHub星标超18.6万。它不止对话,更能“动手做事”:解析需求、规划任务、调用工具(钉钉/WPS/Git等)、反馈结果,将AI升级为“数字员工”。零代码部署,适配办公、开发、运维多场景。
911 1
|
3月前
|
Web App开发 JavaScript 前端开发
Vue实用组件与工具使用指南
本文系统梳理Vue开发中常用UI组件库(如Element Plus、Vant)、状态管理(Pinia)、工程化(Vite)及调试工具,结合实操示例讲解核心用法与选型建议,助力开发者提升效率、规范流程、聚焦业务。
178 0
|
6月前
|
消息中间件 Ubuntu Java
SpringBoot整合MQTT实战:基于EMQX实现双向设备通信
本教程指导在Ubuntu上部署EMQX 5.9.0并集成Spring Boot实现MQTT双向通信,涵盖服务器搭建、客户端配置及生产实践,助您快速构建企业级物联网消息系统。
2450 1
|
消息中间件 Java Kafka
Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
1832 0
|
Linux
Could not fetch/save url http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoError 403
Could not fetch/save url http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoError 403
2694 1
|
资源调度 前端开发
每个前端开发人员都必须知道的 8 个 React 组件库!【建议收藏】
每个前端开发人员都必须知道的 8 个 React 组件库!【建议收藏】