Spring练习-CRUD *** 作[4]-用户列表展示

Spring练习-CRUD *** 作[4]-用户列表展示,第1张

Spring练习-CRUD *** 作[4]-用户列表展示 Spring练习-CRUD *** 作[4]-用户列表展示

文章目录
  • Spring练习-CRUD *** 作[4]-用户列表展示
    • 1.角色列表的展示步骤分析
    • 2.部署查看空项目
    • 3.编写代码
      • 3.1 修改用户的POJO类User.class
      • 3.2 UserController添加查询方法
      • 3.3 在RoleDaoImpl中添加条件查询方法
      • 3.4 UserServiceImpl中添加查询方法(难点)
      • 3.5 在UserDaoImp中添加查询用户的方法
      • 3.6 修改jsp
    • 4.测试

1.角色列表的展示步骤分析

① 点击角色管理菜单发送请求到服务器端(修改角色管理菜单的url地址)
② 创建RoleController和showList()方法
③ 创建RoleService和showList()方法
④ 创建RoleDao和findAll()方法
⑤ 使用JdbcTemplate完成查询 *** 作
⑥ 将查询数据存储到Model中
⑦ 转发到role-list.jsp页面进行展示

2.部署查看空项目

难点在于查询用户关联的角色

3.编写代码 3.1 修改用户的POJO类User.class

要与角色关联,需要添加角色集合.

	//用户所关联的角色集合
    private List roles;

    public List getRoles() {
        return roles;
    }

    public void setRoles(List roles) {
        this.roles = roles;
    }
3.2 UserController添加查询方法
package com.itspring.controller;


import com.itspring.domain.User;
import com.itspring.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;


@Controller
@RequestMapping(value = "/user")
public class UserController {

    @Autowired
    private UserService userService;

    @RequestMapping(value = "/list", method = RequestMethod.GET)
    public ModelAndView list() {
        List userList = userService.list();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("user-list");
        modelAndView.addObject("userList", userList);
        return modelAndView;
    }

}

3.3 在RoleDaoImpl中添加条件查询方法
    @Override
    public List queryByUserId(Long id) {
        String sql =
                "select * from sys_user_role ur ,sys_role r " +
                        "where ur.roleId = r.id and ur.userId=?";
        List roles =
                jdbcTemplate.query(sql,
                        new BeanPropertyRowMapper(Role.class), id);
        return roles;
    }
3.4 UserServiceImpl中添加查询方法(难点)
package com.itspring.service.impl;

import com.itspring.dao.RoleDao;
import com.itspring.dao.UserDao;
import com.itspring.domain.Role;
import com.itspring.domain.User;
import com.itspring.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;

    @Autowired
    private RoleDao roleDao;

    @Override
    public List list() {
        //需要在业务中关联用户对应的角色
        List userList = userDao.findAll();
        //封装用户中的角色
        for (User user : userList) {
            //根据用户id获得对应的角色
            List roles = roleDao.queryByUserId(user.getId());
            user.setRoles(roles);
        }
        return userList;
    }
}

3.5 在UserDaoImp中添加查询用户的方法
package com.itspring.dao.impl;

import com.itspring.dao.UserDao;
import com.itspring.domain.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public class UserDaoImpl implements UserDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Override
    public List findAll() {
        String sql = "select * from sys_user";
        List userList =
                jdbcTemplate.query(sql, new BeanPropertyRowMapper(User.class));
        return userList;
    }
}

3.6 修改jsp
//-----------aside.jsp-----------
  • 用户管理
  • //----------user-list.jsp----- ${user.id} ${user.username} ${user.email} ${user.phoneNum}   ${role.roleName} 删除
    4.测试


    欢迎分享,转载请注明来源:内存溢出

    原文地址:https://54852.com/zaji/3976602.html

    (0)
    打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
    上一篇 2022-10-21
    下一篇2022-10-21

    发表评论

    登录后才能评论

    评论列表(0条)

      保存