Springmvc实现增删改差

一、包结构

Springmvc实现增删改差_第1张图片

二、各层代码

(1)数据User

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接口

public interface IUserDao {
    public User getUser(Integer id);
    public Boolean insertUser(User user);
   public List findAllUser();
    Boolean deleteUser(Integer id);
    Boolean modifyUserName(Integer id, String newUserName);
}

实现类:

@Repository
public class UserDaoImpl implements IUserDao {
    private List users = new ArrayList();
    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 findAllUser() {   return users; }
}

(3)service层:

 

IUserService接口:

public interface IUserService {
    public User getUser(Integer id);
    public List findAllUser();
    public Boolean insertUser(User user);
    public List queryUser(String userName,String note);

    Boolean deleteUser(Integer id);

    Boolean modifyUserName(Integer id, String newUserName);
}

实现类:


@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 findAllUser() {
        List 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 queryUser(String userName1, String note1) {
        List users = userDao.findAllUser();
        List 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层

@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 list(){
        //访问模型层得到数据
        List users=userService.findAllUser();
        return users;
    }
    //显示数据 http://localhost:8080/user/table
    @RequestMapping("/table")
    public ModelAndView table0() {
        //访问模型层得到数据
        List 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 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> modifyUser(
            @RequestParam int userId,
            @RequestParam String newUserName) {

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

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

        // 返回 ResponseEntity
        return ResponseEntity.ok(result);
    }
}

你可能感兴趣的:(java,前端,数据库)