【Saas-export项目】11--(用户user管理)基于RBAC权限模型--增删改查

本文档介绍了SaaS-export项目中用户管理模块的实现,包括使用RBAC权限模型进行用户增删改查操作。详细阐述了主页面、添加界面和编辑界面的设计,以及后台User.java实体类、TestUserService.java测试类、IUserService和UserServiceImpl接口与实现,还有IUserDao接口及其XML配置。同时,提到了前台UserController.java控制器的设置,以及user-list.jsp、user-add.jsp和user-update.jsp的展示逻辑。
摘要由CSDN通过智能技术生成



用户管理

在这里插入图片描述

页面显示

主页面

在这里插入图片描述

添加界面

在这里插入图片描述

编辑界面

  • 他跟添加界面不同的是,进入界面之后数据会显示

在这里插入图片描述

后台代码

(1)User.java实体类

  • 定义实体类
public class User {
   

    private String userId       ;
    private String deptId       ;
    private String email        ;
    private String userName     ;
    private String station      ;
    private String password     ;
    private long state        ;
    private String companyId    ;
    private String companyName  ;
    private String deptName     ;
    private String managerId    ;
    private String gender       ;
    private String telephone    ;
    private String birthday     ;
    private int degree       ;
    private double salary       ;
    private String joinDate     ;
    private long orderNo      ;
    private String createBy     ;
    private String createDempt  ;
    private Date createTime   ;
    private String updateBy     ;
    private Date updateTime   ;
    private String remark       ;
}
全参、空参(必有)、toString、getter AND setter()

(2)TestUserService.java测试

  • 可写增删改查
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath*:spring/applicationContext-*.xml")
public class TestUserService {
   
    private static final Logger l = LoggerFactory.getLogger(TestUserService.class);

    @Autowired
    IUserService iUserService;

    //增*删改查*
    @Test
    public void test01() {
   
        //分页列表
        //页面上显示分页列表,就要求业务方法中提供查询PageInfo的方法
        String companyId = "1";
        //作为一个公司用户的管理员,只能查自己公司的员工。
        PageInfo<User> pi = iUserService.findByPage(1, 3, companyId);
        l.info("pi = " + pi);
    }

    @Test
    public void test02() {
   
        //
        //将一个表单数据保存在javaBean中,再将javaBean存到数据库
        User user = new User();
        user.setUserName("用户rose");
        user.setDeptId("97f88a8c-90fc-4d52-aed7-2046f62fb498");
        iUserService.saveUser(user);

    }

    @Test
    public void test03() {
   
        //
        //更新业务  先根据id查找出对应的一条记录,编辑它的值,再将记录保存到数据库中

        String userId = "b891b14b-1316-4a79-8b88-695be1e3f42f";
        User user = iUserService.findUserById(userId);
        l.info("user=" + user);
        //修改
        user.setUserName("user jack");
        //保存
        iUserService.updateUser(user);

    }

    @Test
    public void test04() {
   
        //
        //删除业务,就是根据指定的id,删除数据库中的记录
        String userId = "11111";
        //删除
        boolean flag = iUserService.deleteUser(userId);
        l.info(flag + "");

    }

    @Test
    public void test05() {
   
        //A公司管理员,只能查A公司用户或者员工
        String companyId = "1";
        List<User> list = iUserService.findAllUsers(companyId);
        l.info("pi = " + list);
    }
}

(3-1)IUserService.java

public interface IUserService {
   

    PageInfo<User> findByPage(int curr, int pageSize, String companyId);

    void saveUser(User user);

    User findUserById(String userId);

    void updateUser(User user);

    boolean deleteUser(String userId);

}

(3-2)UserServiceImpl.java

@Service
public class UserServiceImpl implements IUserService {
   
    @Autowired
    IUserDao iUserDao;
    @Override
    public PageInfo<User> findByPage(int curr, int pageSize,String companyId) {
   
        //设置参数
        PageHelper.startPage(curr,pageSize);
        //调用全查
        List<User> list = iUserDao.findAll(companyId);
        //包装成PageInfo
        PageInfo<User> pi = new PageInfo<>(list);
        return pi;
    }
    @Override
    public User findUserById(String userId) {
   
        return iUserDao.findById(userId);
    }

    @Override
    public boolean deleteUser(String userId) {
   
        iUserDao.deleteById(userId);
        return true;
    }

    @Override
    public void saveUser(User user) {
   
        String uuid= UUID.randomUUID().toString();
        user.setUserId(uuid);
        iUserDao.save(user);
    }
    @Override
    public void updateUser(User user) {
   
        iUserDao.update(user);
    }

}

(4-1)IUserDao.java

public interface IUserDao {
   
    List<User> findAll(String companyId);

    void save(User user);

    User findById(String userId);

    void update(User user);

}

(4-2)IUserDao.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<!--namespace: 需要映射的Dao接口类型-->
<mapper namespace="com.smp.dao.system.user.IUserDao">

    <!--    List<User> findAll(String companyId);-->
    <resultMap id="userMap" type="user">
        <id column="user_id" property="userId"/>
        <result column="dept_id" property="deptId"/>
        <result column="email" property="email"/>
        <result column="user_name" property="userName"/>
        <result column="station" property="station"/>
        <result column="password" property="password"/>
        <result column="state" property="state"/>
        <result column="company_id" property="companyId"/>
        <result column="company_name" property="companyName"/>
        <result column="dept_name" property="deptName"/>
        <result column="manager_id" property="managerId"/>
        <result column="gender" property="gender"/>
        <result column="telephone" property="telephone"/>
        <result column="birthday" property="birthday"/>
        <result column="degree" property="degree"/>
        <result column="salary" property="salary"/>
        <result column="join_date" property="joinDate"/>
        <result column="order_no" property="orderNo"/>
        <result column="create_by" property="createBy"/>
        <result column="create_dempt" property="createDempt"/>
        <result column="create_time" property="createTime"/>
        <result column="update_by" property="updateBy"/>
        <result column="update_time" property="updateTime"/>
        <result column="remark" property="remark"/>
    </resultMap
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值