好好编程-物流项目10【用户管理-查询和添加】

网友投稿 1086 2022-11-22

好好编程-物流项目10【用户管理-查询和添加】

好好编程-物流项目10【用户管理-查询和添加】

用户管理

1.查询用户信息

将用户表中的数据展示在页面中

1.1 用户业务逻辑层

接口定义

package com.bobo.service;import java.util.List;import com.bobo.pojo.User;/** * 用户信息 * @author 波波烤鸭 * * dengpbs@163.com */public interface IUserService { /** * 根据条件查询用户信息 * @param user * @return */ public List query(User user); /** * 添加用户 * @param user * @throws Exception */ public void addUser(User user) throws Exception; /** * 修改用户 * @param user * @throws Exception */ public void updateUser(User user)throws Exception; /** * 删除用户 * @param id * @throws Exception */ public void deleteUser(int id)throws Exception;}

接口实现

package com.bobo.service.impl;import java.util.List;import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.bobo.mapper.UserMapper;import com.bobo.pojo.User;import com.bobo.pojo.UserExample;import com.bobo.service.IUserService;@Servicepublic class UserServiceImpl implements IUserService { @Resource private UserMapper userMapper; @Override public List query(User user) { UserExample example = new UserExample(); // --- return userMapper.selectByExample(example); } @Override public void addUser(User user) throws Exception { userMapper.insertSelective(user); } @Override public void updateUser(User user) throws Exception { // TODO Auto-generated method stub userMapper.updateByPrimaryKey(user); } @Override public void deleteUser(int id) throws Exception { // TODO Auto-generated method stub userMapper.deleteByPrimaryKey(id); }}

1.2 用户控制层

/** * 角色 控制层 * @author 波波烤鸭 * * dengpbs@163.com */@Controller@RequestMapping("/user")public class UserController { @Resource private IUserService userService; @RequestMapping("/query") public String query(User user,Model model){ List list = userService.query(user); model.addAttribute("list", list); return "user/user"; }}

1.3 用户管理界面

1.4 展示数据

2.添加用户信息

/** * 获取添加或者修改用户需要的数据 * 添加 * 获取所有的角色信息 * 修改 * 获取所有的角色信息及根据id查询的用户信息 * @param id * @return */public void getUpdateUserInfo(Integer id,Model model);

@Resourceprivate RoleMapper roleMapper;@Overridepublic void getUpdateUserInfo(Integer id,Model model) { RoleExample roleExample = new RoleExample(); List roles = roleMapper.selectByExample(roleExample ); model.addAttribute("roles", roles);}

控制层

/** * 进入添加或者修改页面 * @param id * @return */@RequestMapping("/userUpdate")public String userUpdatePage(Integer id,Model model){ // 查询添加或者更新需要的数据 userService.getUpdateUserInfo(id,model); return "/user/userUpdate";}

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib uri="prefix="c"%>无标题文档

位置:
基本信息
  • 账号不能超过30个字符
  • ${role.roleName }  

数据传输对象,即Data Transfer Object,简称DTO。 一个为了减少方法调用次数而在进程间传输数据的对象

表单域name值设置,及提交地址:

  • 账号不能超过30个字符
  • ${role.roleName }  

控制层接收数据:

/** * 进入添加或者修改页面 * @param id * @return * @throws Exception */@RequestMapping("/saveOrUpdate")public String saveOrUpdate(UserDto userDto) throws Exception{ userService.saveOrUpdate(userDto); return "redirect:/user/query";}

service接口

/** * 保存或修改用户数据 * @param userDto */public void saveOrUpdate(UserDto userDto)throws Exception;

接口实现

@Overridepublic void saveOrUpdate(UserDto userDto) throws Exception { // 获取User对象 User user = userDto.getUser(); // 获取关联的角色信息 List roles = userDto.getRoles(); // 判断是添加还是修改数据 if(user.getUserId()!=null && user.getUserId() > 0){ // 表示userId存在,说明是更新 }else{ // 不存在id说明是添加数据 // 先添加用户数据 获取生成的userId userMapper.insert(user); // 再保存用户和角色的对应关系,在一个事务中处理 if(roles!=null && roles.size() > 0){ for (Integer roleId : roles) { userMapper.inserUserIdAndRoleId(user.getUserId(),roleId); } } }}

void inserUserIdAndRoleId(Integer userId, Integer roleId);

添加该sql语句在UserMapper.xml文件中

insert into t_user_role(user_id,role_id)values(#{param1},#{param2})

篇幅原因修改和删除下篇文章介绍~

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Dubbo实现案例03【案例部署】
下一篇:好好编程-物流项目09【角色信息查询】
相关文章

 发表评论

暂时没有评论,来抢沙发吧~