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 分钟前
我用 CSS 3D 做了个星空隧道 Loading,没有 Three.js
前端
labixiong8 分钟前
transition 写在 CSS 变量上为什么不生效?给变量补张「类型身份证」
前端·css·html
YHL16 分钟前
🧠 Agent 记忆进阶:总结压缩与向量检索 —— 从截断到 Milvus 长期记忆
前端·人工智能
2301_322414280416 分钟前
活力孕康复APP 47737- 原创(免费领源码+部署教程+开发环境)
java·vue.js·spring boot·mysql·微信小程序·idea·微信开发者工具
勤奋的树懒18 分钟前
从手写 SQL 到 Windows 工具:致远 OA 文件清理实践
数据库·sql·windows server·致远oa
君顾120 分钟前
外卖CPS软件开发实战:从系统架构到部署全流程指南
java·开发语言·外卖
笃行35025 分钟前
OceanBaseVS金仓:一条 SQL 的两条路——KingbaseES 的性能竞争力从哪来
数据库
用户9210802628626 分钟前
前端 Vue 专栏 05:从 Object.defineProperty 到 Proxy,彻底理解 Vue 响应式原理
前端
Fluxart.ai36 分钟前
GPT Image 2.5 有使用次数限制吗?额度、并发、频率限制说明
服务器·前端·gpt
其实防守也摸鱼39 分钟前
每天一个知识点——RCE漏洞
运维·服务器·数据库·windows·安全·github·漏洞