编写提示语
在部门管理的基础之上,这里我们直接编写提示语即可
请根据提供的表结构、接口文档 以及页面原型和需求说明(图片),基于 SpringBoot+Mybatis+PageHelper 帮我完成员工管理的功能接口开发(使用JDK1.8之后的新语法)。
- 要操作的是员工表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='员工工作经历表';
员工管理中一共包含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的速度,如此之高效
代码测试
● 分页查询员工
● 删除员工
● 新增员工
其余的就不再一一测试