Springmvc实现增删改差

一、包结构

二、各层代码

(1)数据User

java 复制代码
public class User {
    private Integer id;
    private String userName;
    private String note;
    public User() {
        super();
    }

    public User(Integer i, String userName, String note) {
        super();
        this.id = i;
        this.userName = userName;
        this.note = note;
    }
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getNote() {
        return note;
    }
    public void setNote(String note) {
        this.note = note;
    }

}

(2)dao层

IUserDao接口

java 复制代码
public interface IUserDao {
    public User getUser(Integer id);
    public Boolean insertUser(User user);
   public List<User> findAllUser();
    Boolean deleteUser(Integer id);
    Boolean modifyUserName(Integer id, String newUserName);
}

实现类:

java 复制代码
@Repository
public class UserDaoImpl implements IUserDao {
    private List<User> users = new ArrayList<User>();
    public UserDaoImpl() {
        super();
        users.add(new User(1, "user_name_1", "note_1"));
        users.add(new User(2, "user_name_2", "note_2"));
        users.add(new User(3, "user_name_3", "note_3"));
    }
    @Override
      /*   根据id来返回对象*/
    public User getUser(Integer id) {
        // TODO Auto-generated method stub
        for (User user : users) {
            if (user.getId().equals(id)) {
                return user;
            }
        }
        return null;
    }
    @Override
    public Boolean insertUser(User user) {
        // TODO Auto-generated method stub
        Boolean flag=false;
        System.out.println(user.getUserName()+">>"+user.getNote());
        users.add(user);        //User为上上面申明的集合 add方法为List集合的方法
        flag=true;
        return flag;
    }
    @Override public List<User> findAllUser() {   return users; }
}

(3)service层:

IUserService接口:

java 复制代码
public interface IUserService {
    public User getUser(Integer id);
    public List<User> findAllUser();
    public Boolean insertUser(User user);
    public List<User> queryUser(String userName,String note);

    Boolean deleteUser(Integer id);

    Boolean modifyUserName(Integer id, String newUserName);
}

实现类:

java 复制代码
@Service
public class UserServiceImpl implements IUserService {
    @Autowired
    private IUserDao userDao;
  /*  省去了申明传值的步骤*/
    @Override
    /*根据User来获取对象*/
    public User getUser(Integer id) {
        // TODO Auto-generated method stub
        return userDao.getUser(id);
    }
    @Override
    public Boolean insertUser(User user) {
        // TODO Auto-generated method stub
        Boolean flag=false;
        System.out.println(user.getUserName()+">>"+user.getNote());
        flag=userDao.insertUser(user);
        return flag;
    }
    @Override
    public List<User> findAllUser() {
        List<User> users = userDao.findAllUser();
        if (users.size() > 1) {
            for (int i = 1; i < users.size(); i++) {
                User currentUser = users.get(i);
                User previousUser = users.get(i-1);
                if (currentUser.getId() == null) {
                    currentUser.setId(previousUser.getId()+1);
                }
            }
        }
        return users;
    }

    @Override
    public List<User> queryUser(String userName1, String note1) {
        List<User> users = userDao.findAllUser();
        List<User> result = new ArrayList<>();
        for (User user : users) {
            if (user.getUserName().equals(userName1) && user.getNote().equals(note1)) {
                result.add(user);
            }
        }
        return result;
    }
    public Boolean deleteUser(Integer id) {
        return userDao.deleteUser(id);
    }
    @Override
    public Boolean modifyUserName(Integer id, String newUserName) {
        return userDao.modifyUserName(id, newUserName);
    }
}

(4)controller层

java 复制代码
@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    private IUserService userService=null;
    @GetMapping("/add")
    public String add() {

        return "add";
    }
    /*
     * 新增用户
     *@param user 通过@RequestBody注解得到JSON参数
     *return 返回用户信息
     */
    @PostMapping("/insert")
    @ResponseBody
    public User insert(@RequestBody User user) {
        userService.insertUser(user);
        return user;
    }
    //显示数据 http://localhost:8080/user/list
    @RequestMapping("/list")
    @ResponseBody
    public List<User> list(){
        //访问模型层得到数据
        List<User> users=userService.findAllUser();
        return users;
    }
    //显示数据 http://localhost:8080/user/table
    @RequestMapping("/table")
    public ModelAndView table0() {
        //访问模型层得到数据
        List<User> users=userService.findAllUser();
        System.out.println("111");
        //模型和视图
        ModelAndView mv=new ModelAndView();
        //定义模型视图 1
        mv.setViewName("table");
        //加入数据模型
        mv.addObject("users",users);
        //返回模型和视图
        return mv;
    }

    @RequestMapping(value = "/query1")
    @ResponseBody
    public ModelAndView query1(@RequestParam(value = "userName") String userName,@RequestParam("note") String note){
        List<User> users=userService.queryUser(userName,note);
        ModelAndView mv=new ModelAndView();
        mv.setViewName("table");
        mv.addObject("users",users);
        return mv;
    }

    @RequestMapping("/delete/{id}")
    public String deleteUser(@PathVariable Integer id, Model model) {
        boolean success = userService.deleteUser(id);
        model.addAttribute("success", success);
        model.addAttribute("deletedUserId", id);
        return "delete";
    }

    @GetMapping("/modify")
    public String showModifyPage() {
        return "modify";
    }
    @PostMapping("/modify")
    @ResponseBody
    public ResponseEntity<Map<String, String>> modifyUser(
            @RequestParam int userId,
            @RequestParam String newUserName) {

        // 进行修改用户的逻辑,假设这里调用了修改用户的 service 方法
        boolean success = userService.modifyUserName(userId, newUserName);

        // 返回修改后的结果
        Map<String, String> result = new HashMap<>();
        result.put("modifiedUserId", String.valueOf(userId));
        result.put("newUserName", newUserName);

        // 返回 ResponseEntity
        return ResponseEntity.ok(result);
    }
}
相关推荐
轻口味5 分钟前
【每日学点鸿蒙知识】AVCodec、SmartPerf工具、web组件加载、监听键盘的显示隐藏、Asset Store Kit
前端·华为·harmonyos
alikami8 分钟前
【若依】用 post 请求传 json 格式的数据下载文件
前端·javascript·json
m0_7482448323 分钟前
StarRocks 排查单副本表
大数据·数据库·python
V+zmm1013426 分钟前
基于微信小程序的乡村政务服务系统springboot+论文源码调试讲解
java·微信小程序·小程序·毕业设计·ssm
C++忠实粉丝33 分钟前
Redis 介绍和安装
数据库·redis·缓存
吃杠碰小鸡42 分钟前
lodash常用函数
前端·javascript
wmd131643067121 小时前
将微信配置信息存到数据库并进行调用
数据库·微信
Oneforlove_twoforjob1 小时前
【Java基础面试题025】什么是Java的Integer缓存池?
java·开发语言·缓存
emoji1111111 小时前
前端对页面数据进行缓存
开发语言·前端·javascript
xmh-sxh-13141 小时前
常用的缓存技术都有哪些
java