服务端(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月前
|
Web App开发 JavaScript 前端开发
Vue实用组件与工具使用指南
本文系统梳理Vue开发中常用UI组件库(如Element Plus、Vant)、状态管理(Pinia)、工程化(Vite)及调试工具,结合实操示例讲解核心用法与选型建议,助力开发者提升效率、规范流程、聚焦业务。
105 0
|
5月前
|
SQL 人工智能 Java
30分钟轻松掌握Cursor,快速提升开发效率和体验
本文通过在WebX老项目中实践,验证了Cursor利用AI大模型可高效生成符合老旧项目规范的代码框架,显著提升开发效率与体验。
30分钟轻松掌握Cursor,快速提升开发效率和体验
|
2月前
|
人工智能 自然语言处理 Cloud Native
AI时代代码开发(DeepSeek+Cursor+Devbox)
AI时代重塑软件开发,本课程聚焦DeepSeek+Cursor+Devbox+Sealos工具链,实现自然语言到代码的零基础全栈开发。覆盖需求分析、数据库设计、编码测试至云部署全流程,助力开发者高效构建并上线项目,抢占智能开发先机。(238字)
|
资源调度 前端开发
每个前端开发人员都必须知道的 8 个 React 组件库!【建议收藏】
每个前端开发人员都必须知道的 8 个 React 组件库!【建议收藏】
|
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
2478 1
|
自然语言处理 Java 关系型数据库
ElasticSearch 实现分词全文检索 - SpringBoot 完整实现 Demo 附源码【完结篇】
ElasticSearch 实现分词全文检索 - SpringBoot 完整实现 Demo 附源码【完结篇】
508 0
|
Java API Spring
集成EasyPoi(一个基于POI的Excel导入导出工具)到Spring Boot项目中
集成EasyPoi(一个基于POI的Excel导入导出工具)到Spring Boot项目中
1407 1
|
数据安全/隐私保护 iOS开发 Docker
深度了解MacOS Docker 安装
【8月更文挑战第23天】深度了解MacOS Docker 安装
799 1
WXM
|
存储 缓存 Java
|
存储 Linux Docker
Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo
CentOS 安装Docker时,将 Docker 官方的 YUM 存储库添加到 CentOS 系统中出现错误。
2184 0