1.1 功能实现
对菜单进行添加,修改查询等操做
插入一种思想,多对多的表关系
设计一个菜单与角色的表,操做菜单表的时候,也可能会操做角色表。css
1.2设计今天页面为用户呈现菜单模块,就是点击菜单模块,显示菜单列表,菜单的页面(html/css/js)如图。使用个treerid插件。html
1.3
须要实现功能,点击添加按钮,变成菜单编辑页面。
如图。
1.3.1API设计sql
2.1 动手
1)先在PageController(处理全部业务请求的conlltroller)中添加doMenuUI方法。
两种不一样的形式,目的是为了优化。都是返回UI页面。先进行下一步。app
2)实现starter页面加载完成后,点击菜单,会触发执行函数,进行加载。在starter.html下
在一个完成的函数里面,放入函数就行,封装共性。
doLoadUI("load-menu-id","menu/menu_list")。
能够进行测试,如图。
3)回到1)的优化,在PageController类里,两个函数能够不写,Module模块别的意思,共性:都是同样的路径,返回值都是字符串。
rest风格的url,你传什么就是什么,传menu_list就是menu。可是优先级低。
4)用map来封装数据,再也不是用pojo,换种方法。
一行记录映射成一条map对象,map中的key是表中的字段名,id,name,operation这些,value就是字段表明的value。
同过list集合来记录多条map,集合数据会直接传给业务层,由于没有分页。
最终传到控制层。封装到JsonResult。
两个难点:表的查询,数据的呈现。
3 代码实现
1)查询上级菜单以及当前菜单。一个表一个dao,在建立一个。
在mapper创建对应sql映射文件。
方案一:嵌套查询
方案二:多表关联
左外关联,共性显示,特性也要显示。左边,知足条件的都要显示,不知足的左边表格要显示。
2)service接口,建立方法
3)实现类
4)控制层 有Controller和ResponseBody能够写一个注解RestController
Treegird树形表格,这里应用。能够去官网查
在menu_list里面要有对应。函数