好好编程-物流项目09【角色信息查询】

简介: 通过前面的介绍我们已经完成了SSM框架的整合,这篇文章通过角色信息的查询我们把各个部分串接起来。

通过前面的介绍我们已经完成了SSM框架的整合,这篇文章通过角色信息的查询我们把各个部分串接起来。


角色信息查询

20190320220156264.png



1.准备测试数据


 手动在t_role表中维护几条数据,如下:

20190320220510102.png


2.service层


 因为dao我们通过插件生成的代码,所以基本操作的方法已经生成我们不需要额外修改,我们只需要在service添加业务代码即可。在logistics-manager-service项目中创建。

20190320222423947.png

接口定义:IRoleService

package com.bobo.service;
import java.util.List;
import com.bobo.pojo.Role;
/**
 * 角色
 * @author 波波烤鸭
 *
 * dengpbs@163.com
 */
public interface IRoleService {
  /**
   * 根据条件查询角色
   * @param role
   * @return
   */
  public List<Role> query(Role role);
  /**
   * 添加角色信息
   * @param role
   * @throws Exception
   */
  public void addRole(Role role) throws Exception;
  /**
   * 根据id更新角色信息
   * @param role
   * @throws Exception
   */
  public void updateRole(Role role) throws Exception;
  /**
   * 根据id删除角色信息
   * @param id
   * @throws Exception
   */
  public void deleteRole(int id) throws Exception;
}


实现类:RoleServiceImpl

package com.bobo.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.bobo.mapper.RoleMapper;
import com.bobo.pojo.Role;
import com.bobo.pojo.RoleExample;
import com.bobo.service.IRoleService;
@Service
public class RoleServiceImpl implements IRoleService {
  @Resource
  private RoleMapper mapper;
  @Override
  public List<Role> query(Role role) {
    RoleExample example = new RoleExample();
    if(role !=null&& !"".equals(role.getRoleName()) && role.getRoleName()!=null){
      example.createCriteria().andRoleNameLike("%"+role.getRoleName()+"%");
    }
    return mapper.selectByExample(example);
  }
  @Override
  public void addRole(Role role) throws Exception {
    mapper.insertSelective(role);
  }
  @Override
  public void updateRole(Role role) throws Exception {
    mapper.updateByPrimaryKeySelective(role);
  }
  @Override
  public void deleteRole(int id) throws Exception {
    mapper.deleteByPrimaryKey(id);
  }
}


3.controller层


 注意是在logistics-manager-web项目中创建

package com.bobo.controller;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.bobo.pojo.Role;
import com.bobo.service.IRoleService;
/**
 * 角色 控制层
 * @author 波波烤鸭
 *
 * dengpbs@163.com
 */
@Controller
@RequestMapping("/role")
public class RoleController {
  @Resource
  private IRoleService roleService;
  @RequestMapping("/query")
  public String query(Role role,Model model){
    List<Role> list = roleService.query(role);
    model.addAttribute("list", list);
    return "role";
  }
}


4.jsp页面


4.1跳转到role.jsp


 现在的首页如下:


20190320234923355.png

菜单添加角色管理,在left.jsp中添加如下

20190320235340632.png2019032023540345.png


进入页面说明跳转没有问题。


4.2角色管理


 选择页面的模板:right.html

20190320235606655.png


拷贝修改后的代码注意点


资源前面加"/"用绝对路径来访问资源

使用jstl来循环数据

20190321000333108.png20190321000348364.png


role.jsp代码

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link href="/css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
    $(".click").click(function() {
      $(".tip").fadeIn(200);
    });
    $(".tiptop a").click(function() {
      $(".tip").fadeOut(200);
    });
    $(".sure").click(function() {
      $(".tip").fadeOut(100);
    });
    $(".cancel").click(function() {
      $(".tip").fadeOut(100);
    });
  });
</script>
</head>
<body>
  <div class="place">
    <span>位置:</span>
    <ul class="placeul">
      <li><a href="#">首页</a></li>
      <li><a href="#">数据表</a></li>
      <li><a href="#">基本内容</a></li>
    </ul>
  </div>
  <div class="rightinfo">
    <div class="tools">
      <ul class="toolbar">
        <li class="click"><span><img src="/images/t01.png" /></span>添加</li>
        <li class="click"><span><img src="/images/t02.png" /></span>修改</li>
        <li><span><img src="/images/t03.png" /></span>删除</li>
        <li><span><img src="/images/t04.png" /></span>统计</li>
      </ul>
      <ul class="toolbar1">
        <li><span><img src="/images/t05.png" /></span>设置</li>
      </ul>
    </div>
    <table class="tablelist">
      <thead>
        <tr>
          <th><input name="" type="checkbox" value="" checked="checked" /></th>
          <th>编号<i class="sort"><img src="/images/px.gif" /></i></th>
          <th>角色名称</th>
          <th>角色描述</th>
          <th>操作</th>
        </tr>
      </thead>
      <tbody>
        <c:forEach items="${list }" var="role">
          <tr>
            <td><input name="" type="checkbox" value="" /></td>
            <td>${role.roleId }</td>
            <td>${role.roleName }</td>
            <td>${role.roleDesc }</td>
            <td><a href="#" class="tablelink">查看</a> <a href="#"
              class="tablelink"> 删除</a></td>
          </tr>
        </c:forEach>
      </tbody>
    </table>
  </div>
  <script type="text/javascript">
    $('.tablelist tbody tr:odd').addClass('odd');
  </script>
</body>
</html>


访问测试:

20190321001351918.png

相关文章
dapp互助预约排单系统开发步骤指南/案例设计/规则详细/方案逻辑/源码程序
-Determine the core functions and objectives of the system, understand user needs and expectations.
|
6月前
|
SQL 关系型数据库 MySQL
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
课程分类查询、课程新增、统一异常处理、统一封装结果类、JSR303校验、修改课程、查询课程计划、新增/修改课程计划
学成在线笔记+踩坑(3)——【内容模块】课程分类查询、课程增改删、课程计划增删改查,统一异常处理+JSR303校验
|
算法 Perl
技术下午茶:产品经理是如何工作的?如何才算一份好的需求文档?如何设计一个简单的列表,它应该具备哪些基本功能?
技术下午茶:产品经理是如何工作的?如何才算一份好的需求文档?如何设计一个简单的列表,它应该具备哪些基本功能?
131 1
|
10月前
|
弹性计算 供应链 测试技术
计算巢实操合集:软件用户使用服务及供应商进阶管理(系列四)
弹性计算社区推出的面向开发者计算巢成长系列课程已经发布第四期了,本期将围绕软件用户使用服务实操以及供应商进阶管理实操,并且一步步教大家如何利用计算巢完成部署体验。
107693 1
【氚云】在代码中,如何实现对人员和部门的调用?
在代码中,如何实现对人员和部门的调用?
290 0
|
存储 前端开发 JavaScript
课程管理-修改课程信息(最终实现) | 学习笔记
简介:快速学习课程管理-修改课程信息(最终实现)
228 0
课程管理-修改课程信息(最终实现) | 学习笔记
|
小程序 安全 数据库
手把手教你搭建消防安全答题小程序-在结果页中实现从云数据库查询成绩
手把手教你搭建消防安全答题小程序-在结果页中实现从云数据库查询成绩
手把手教你搭建消防安全答题小程序-在结果页中实现从云数据库查询成绩
|
前端开发 JavaScript 测试技术
【测试开花】五、项目管理-前端-实现查询、新增功能
【测试开花】五、项目管理-前端-实现查询、新增功能
【测试开花】五、项目管理-前端-实现查询、新增功能
|
前端开发
前端工作总结128-阅读账号里面的新增调用接口操作
前端工作总结128-阅读账号里面的新增调用接口操作
101 0
前端工作总结128-阅读账号里面的新增调用接口操作
|
Java 关系型数据库 MySQL
SSM框架(spring+springmvc+mybatis)+Mysql实现的高校运动会管理系统(角色分为管理员和普通用户 功能包含普通学生老师参赛、开幕广播信息查看、管理员广播器材用户赛事管理等)
SSM框架(spring+springmvc+mybatis)+Mysql实现的高校运动会管理系统(角色分为管理员和普通用户 功能包含普通学生老师参赛、开幕广播信息查看、管理员广播器材用户赛事管理等)
SSM框架(spring+springmvc+mybatis)+Mysql实现的高校运动会管理系统(角色分为管理员和普通用户 功能包含普通学生老师参赛、开幕广播信息查看、管理员广播器材用户赛事管理等)