4.3 服务端(Cursor)-接口开发(员工管理)

简介: 基于SpringBoot+Mybatis+PageHelper,使用JDK8+新语法实现员工管理功能,涵盖分页查询、新增、修改、删除、详情及全量查询接口,操作emp与emp_expr表,支持多条件筛选与级联工作经历处理,高效完成前后端交互。

编写提示语
在部门管理的基础之上,这里我们直接编写提示语即可
请根据提供的表结构、接口文档 以及页面原型和需求说明(图片),基于 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的速度,如此之高效

代码测试
● 分页查询员工

● 删除员工

● 新增员工

其余的就不再一一测试

相关文章
|
4月前
|
关系型数据库 MySQL Java
4.2 服务端(Cursor)-接口开发(部门管理)
基于SpringBoot+Mybatis+PageHelper,使用JDK8+语法,连接内网MySQL数据库(Sealos托管),完成部门管理5大接口开发:列表查询、根据ID查询、添加、修改、删除部门。结合dept表结构与接口文档,实现RESTful API,返回统一格式数据,通过ApiFox测试验证功能完整可用。(239字)
|
2月前
|
JSON 自然语言处理 API
大模型应用:语音转文本(ASR)实践:OpenAI Whisper精准转录解析.21
本文详解OpenAI Whisper语音转文本(ASR)技术,涵盖基础概念、模型选型(tiny至large-v3)、核心参数调优(language/temperature/beam_size等)、代码实战、词级时间戳、批量处理、说话人分离及音频降噪等进阶技巧,助力零基础用户快速上手并精准适配各类场景。
1019 117
|
4月前
|
人工智能 自然语言处理 数据可视化
构建AI智能体:五十八、智能工作流引擎:基于LangGraph的模块化内容创作系统
本文介绍了一个基于LangGraph工作流引擎、Qwen大模型和Gradio界面的智能内容创作系统。该系统采用模块化设计,将内容创作过程分解为8个可配置节点(主题分析、大纲生成、内容创作等),通过工作流驱动实现从主题输入到完整内容(文字+配图)的全自动化生成。系统特点包括:1)灵活可配置的工作流模板;2)强类型状态管理确保数据安全;3)多重容错机制(重试/降级方案);4)实时可视化流程监控。该方案适用于营销、教育等多个场景,展示了现代AI系统中架构设计、工程实现与用户体验的有机结合。
625 3
|
7月前
|
SQL 人工智能 Java
30分钟轻松掌握Cursor,快速提升开发效率和体验
本文通过在WebX老项目中实践,验证了Cursor利用AI大模型可高效生成符合老旧项目规范的代码框架,显著提升开发效率与体验。
30分钟轻松掌握Cursor,快速提升开发效率和体验
|
3月前
|
人工智能 决策智能 开发者
2026 深度解析:AI 智能体(Agent)逻辑引擎核心与产业落地全工作流
随着大模型从“对话时代”迈向“任务执行时代”,智能体工作流(Agentic Workflow)已成为企业级 AI 应用的核心。本文深度拆解 Agent 的感知、规划、记忆与行动闭环,结合 Gartner 与 McKinsey 的最新权威数据,为开发者提供一套可落地的 AI 智能体架构指南。
822 1
|
3月前
|
人工智能 算法 Java
Java+AI 核心指南:大模型丝滑接入与多模型统一范式
在AI深入企业应用的背景下,Java凭借稳定的工程化能力、成熟生态和存量系统兼容性,成为AI落地的关键。本文探讨Java如何高效集成AI,强调“用模型”而非“造模型”,聚焦复用现有技术栈、工程化落地与多模型统一管理,助力企业实现智能化升级。
382 0

热门文章

最新文章

下一篇
开通oss服务