![Spring练习-CRUD *** 作[4]-用户列表展示,第1张 Spring练习-CRUD *** 作[4]-用户列表展示,第1张](/aiimages/Spring%E7%BB%83%E4%B9%A0-CRUD%E6%93%8D%E4%BD%9C%5B4%5D-%E7%94%A8%E6%88%B7%E5%88%97%E8%A1%A8%E5%B1%95%E7%A4%BA.png)
- 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.测试
① 点击角色管理菜单发送请求到服务器端(修改角色管理菜单的url地址)
② 创建RoleController和showList()方法
③ 创建RoleService和showList()方法
④ 创建RoleDao和findAll()方法
⑤ 使用JdbcTemplate完成查询 *** 作
⑥ 将查询数据存储到Model中
⑦ 转发到role-list.jsp页面进行展示
难点在于查询用户关联的角色
要与角色关联,需要添加角色集合.
//用户所关联的角色集合
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-----------
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)