好好编程-物流项目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

相关文章
|
前端开发 API 开发者
前端 CSS 经典:边框转圈动画效果
前端 CSS 经典:边框转圈动画效果
428 0
|
算法
第七章 回溯算法理论基础
第七章 回溯算法理论基础
100 0
|
SQL XML 前端开发
Spring Boot + vue-element 开发个人博客项目实战教程(十八、操作日志功能实现)2
Spring Boot + vue-element 开发个人博客项目实战教程(十八、操作日志功能实现)2
240 0
Spring Boot + vue-element 开发个人博客项目实战教程(十八、操作日志功能实现)2
|
消息中间件 安全 Java
一起来探究@Schedule定时任务在分布式产生的问题
一起来探究@Schedule定时任务在分布式产生的问题
544 0
|
监控 JavaScript 前端开发
node.js常用的命令
node.js常用的命令
152 1
|
存储 算法 Python
Crystallographic Information File
Crystallographic Information File(CIF)是一种用于存储晶体结构信息的标准文件格式,通常用于存储X射线衍射、中子衍射、电子衍射等晶体结构分析的数据。CIF文件包含了晶胞参数、原子坐标、晶体对称性等结构信息,是进行晶体结构分析和制备的基础数据。
881 1
|
安全
漏洞扫描和漏洞评估
漏洞扫描和漏洞评估
675 0
|
XML 缓存 开发工具
一个支持DOCX、PPTX、Html等文件合并、拆分、互相转换的C#开源项目
这是一个Open XML 文档编程接口开发的,并扩展了Open XML SDK的功能。
504 0
一个支持DOCX、PPTX、Html等文件合并、拆分、互相转换的C#开源项目
|
缓存 JavaScript 前端开发
2023前端面试系列-- Vue 篇
2023前端面试系列-- Vue 篇
144 0
|
存储 JSON API
初识JWT
初识JWT
135 0