栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

知识点7--spring boot实现三层架构-修改、查询详情数据

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

知识点7--spring boot实现三层架构-修改、查询详情数据

本篇文章目标为,介绍spring boot的修改数据,项目代码沿用知识点6,同时大家要理清思路,新增和修改本质上用的是同一个页面,只是提交的东西不一样而已,详情页面本质上是修改页面不提供编辑功能

第一步:在列表页面,配置修改选项

修改

第二步:编写对应的预修改控制器和修改控制器

@RequestMapping("/toEdit")
public String toEdit(HttpServletRequest request,Integer id){
    //查询要编辑用户信息
    User user = userService.getById(id);
    //存储
    request.setAttribute("user",user);
    //查询所有部门
    List depts = deptService.list();
    request.setAttribute("depts",depts);
    return "user_edit";
}

@RequestMapping("/edit")
@ResponseBody
public boolean edit(User user){
    return userService.updateById(user);
}

第三步:编写修改用的页面,复制新增页面,改一改也行



    欢迎进入user用户列表
    


    
名称:
出生日期:
所在部门:
邮箱:

最后测试效果即可


查询数据详情更简单

第一步:把预修改控制器复制改一改

@RequestMapping("/detail")
public String detail(HttpServletRequest request,Integer id){
    //查询要编辑用户信息
    User user = userService.getById(id);
    //判断外键是否为空
    if(user.getDid()!=null){
        //根据id查询
        Dept dept = deptService.getById(user.getDid());
        //设置部门名称
        user.setDname(dept.getName());
    }
    //存储
    request.setAttribute("user",user);
    return "/user_detail";
}

第二步:前端准备一个详情页


	
	    欢迎进入user用户列表
	    
	
	
	    名称:${user.name!""}
出生日期:<#if user.brith??>${user.brith?string("yyyy-MM-dd")}
所在部门:${user.dname!""}
邮箱:${user.email!""}
返回

第三步:修改前端详情按钮

详情

最后看效果


到此一整套三层架构的添删改查就给大家串完了,最后完善一点,在列表界面并没有展示部门名称,这里完善一下,把列表控制器代码添加部门的查询

@RequestMapping("/list")
public String list(HttpServletRequest request, @RequestParam(defaultValue = "1") long current, @RequestParam(defaultValue = "3") long size, User user){
    //创建分页对象
    Page page =new Page<>(current,size);
    //创建查询条件对象
    QueryWrapper wrapper = new QueryWrapper<>();
    //spring boot将条件查询封装成了一个对象,可以使用
    if(user!=null){
        if(user.getName()!=null && !"".equals(user.getName().trim())){
            wrapper.like("name",user.getName());
        }
        if(user.getBrith()!=null){
            wrapper.eq("brith",user.getBrith());
        }
    }

    //执行分页查询
    IPage pageInfo = userService.page(page, wrapper);

    //展示部门
    //当前页的记录数
    List records = pageInfo.getRecords();
    //遍历当前页的记录数
    for(User entity:records){
        //判断外键是否为空
        if(entity.getDid()!=null){
            //根据id查询
            Dept dept = deptService.getById(entity.getDid());
            //设置部门名称
            entity.setDname(dept.getName());
        }
    }

    //单独存储总页数,最所以怎么做是因为现在市场上用的JDK和mybatis-plus版本有点不符合,总页数无法封装到前台
    request.setAttribute("pages",pageInfo.getPages());
    //存储到request中
    request.setAttribute("pageInfo",pageInfo);
    request.setAttribute("user",user);
    return "/user_list";
}

前端列表界面,table表格中展示部门名称,将下面两个标签放在合适的位置

部门
${user.dname!""}

这样就比较完善了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/966614.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号