目录
一、需求分析
后台系统中可以管理员工信息,通过新增员工来添加后台系统用户。点击[添加员工]按钮跳转到新增页面,如下:
新增员工,其实就是将我们新增页面录入的员工数据插入到employee表。需要注意,employee表中对username字段加入了唯一约束,因为username是员工的登录账号,必须是唯一的
二、数据模型
employee表中的status字段已经设置了默认值1,表示状态正常。
三、代码开发
在开发代码之前,需要梳理一下整个程序的执行过程:
1、页面发送ajax请求,将新增员工页面中输入的数据以json的形式提交到服务端
2、服务端Controller接收页面提交的数据并调用Service将数据进行保存
3、Service调用Mapper操作数据库,保存数据
当添加完员工,进行保存,这个请求发到http://localhost:8080/employee
请求方式是post,所携带参数是{name:“张三”…}
前端数据分析
添加员工
在员工管理的列表页面,对添加员工按钮绑定addMemberHandle方法
addMemberHandle方法定义,当方法参数==add就调用window.parent.menuHandle方法跳转到/member/add.html页面
这里的window.parent是返回当前窗口的父窗口,也就是index页面,然后调用menuHandle方法,这里有此方法的定义
把iframeUrl切换成我们指定的url,也就是/backend/page/member/add.html
保存按钮
保存按钮绑定submitForm方法
submitForm方法定义,校验通过,执行addEmployee方法,访问/employee.html页面,采用post方法请求,并携带参数
addEmployee封装在member.js中
1. 类EmployeeController编写
首先断点看数据是否正常封装
点击添加员工,输入员工信息,并保存,打断点,可以看到有正常信息传入。
这一步,是保证前端页面发送的请求,能够请求到这个方法,并且提交的参数,能够封装到employee中。
//新增员工
@PostMapping
public R<String> save(HttpServletRequest request,@RequestBody Employee employee){
log.info("新增员工,员工信息:{}",employee.toString())