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);
    }
}
相关推荐
野槐1 分钟前
前端图像处理(一)
前端
乌啼霜满天2492 分钟前
Spring 与 Spring MVC 与 Spring Boot三者之间的区别与联系
java·spring boot·spring·mvc
tangliang_cn8 分钟前
java入门 自定义springboot starter
java·开发语言·spring boot
程序猿阿伟8 分钟前
《智能指针频繁创建销毁:程序性能的“隐形杀手”》
java·开发语言·前端
疯狂的沙粒10 分钟前
对 TypeScript 中函数如何更好的理解及使用?与 JavaScript 函数有哪些区别?
前端·javascript·typescript
Grey_fantasy18 分钟前
高级编程之结构化代码
java·spring boot·spring cloud
瑞雨溪19 分钟前
AJAX的基本使用
前端·javascript·ajax
力透键背21 分钟前
display: none和visibility: hidden的区别
开发语言·前端·javascript
弗锐土豆25 分钟前
工业生产安全-安全帽第二篇-用java语言看看opencv实现的目标检测使用过程
java·opencv·安全·检测·面部
Elaine20239126 分钟前
零碎04 MybatisPlus自定义模版生成代码
java·spring·mybatis