01简单的就是dao-xml-service-serviceimpl-controller-html
02.dao接口
由于delete的功能在菜单表中进行的,需要考虑是否相关项有子菜单,有的话,就不能删除。
况且delete的菜单项,还有一张表相关,就是sysRoleMenu这张表,要删除菜单的相关项,还需要进一步去删除sysRoleMenu的相关数据。
sysMenuDao:
int getChildByid(Integer parentId);
int deleteByid(Integer id);
sysRoleMenuDao:
int deleteRoleMenuById(Integer menuid);
03.xml
sysMenuMapper.xml:
select id="getChildByid" resultType="int">
select count(*) from sys_menus where parentId=#{parentId}
select>
delete id="deleteByid" >
select count(*) from sys_menus where parentId=#{parentId}
delete>
sysRoleMenuMapper.xml:
delete id="deleteRoleMenuById">
delete from sys_role_menus where menu_id=#{menuid}
delete>
04.service
因为主要的功能是删除,所以就没有声明查找子菜单的函数。
int deleteObjects(Integer id);
05.serviceimpl
因为可以在实现类中去写sysRoleMenuDao接口,就可以暂时不需要在写一个sysRoleMenu的service接口。
@Override
public int deleteObjects(Integer id) {
if (id==null || id
06.controller
在controller开头有@RestController,这个等于@Controller和 @ResponseBody
@RequestMapping("doDeleteObject")
public JsonResult doDeleteObject(Integer id) {
sysMenuService.deleteObjects(id);
return new JsonResult(" delete ok");
}
controller类的报错,会被@ControllerAdvice注解修饰的类来接受,在返回jsonresult对象,给用户看。
package com.cy.common;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
@ControllerAdvice//mvc模块中用来描述异常处理类的注解
public class GobalException {
@ExceptionHandler(RuntimeException.class)//异常处理
@ResponseBody
public JsonResult doHandleRuntimeException(
RuntimeException e) {
e.printStackTrace();//也可以写日志
return new JsonResult(e.getMessage());//封装
}
}
07.html
这里使用到了treegrid和ztree插件,进一步学习在写
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net