增删改查中的查询操作,对所有的普通管理员进行查询操作。
效果展示:
不仅可以在打开页面时进行对管理员的自动查询操作,还可以在输入框进行查询。
首先是前端向后端发送POST请求,后端接收到请求,如果是有参数传到后端那就是搜索框查询,如果没有参数,就是页面加载所有管理员的整体查询。
见前端代码:
methods: {adminFind(){this.$http.post("admin/admin/admins/",this.form).then(resp => {this.tableData = resp.data.data;})},},mounted() {this.adminFind();}
后端接收响应:
@RestController@RequestMapping("/admin/admin")public class AdminController {@AutowiredAdminService adminService;@PostMapping("/admins/")CommonData returnResult(@RequestBody Admin admin) {CommonData commonData=adminService.findAdmins(admin);return commonData;}}
分别调用Service层,Dao层,最后通过MyBatis查询。
数据库建表如下:一共三个表,管理员表,角色表,管理员角色关系表。
对管理员角色表为什么要单独列出来的解释:一个管理员可以拥有多个角色,并不是一对一的关系,所以不能进行管理员表和角色表的关联查询。
MyBatis写法:
SELECTa.id,a.account,a.gender,a.admin_phone,a.address,a.type,a.oper_time,oa.account operaccountFROMadmin aLEFT JOIN admin oaON oa.id = a.adminidWHERE a.type = 1and a.account = #{account}and a.gender = #{gender}SELECTr.nameFROMROLE rLEFT JOIN admin_role arON r.id = ar.roleidWHERE ar.adminid = #{id};