springboot3和vue2的学习

环境配置

下载 Node.js

引用vue2

安装Element-ui

项目搭建

创建springboot项目

后端代码

controller层

UserController.java

package com.example.demo1215day1215.controller;

import com.example.demo1215day1215.commons.Result;
import com.example.demo1215day1215.entity.User;
import com.example.demo1215day1215.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
@CrossOrigin
@RestController
@RequestMapping("/user")
public class UseController {
    @Autowired
    UserService userService;

    @PostMapping("/add")
    public Result add(@RequestBody User user) {
        try{
            userService.insertUser(user);
        }catch(Exception e){
            return Result.error("插入数据错误");
        }
        return Result.success();
    }
    @PutMapping("/update")
    public Result update(@RequestBody User user) {
        try{
            userService.updateUser(user);
        }catch(Exception e){
            return Result.error("修改失败");
        }
        return Result.success();
    }
    @DeleteMapping("/delete/{id}")
    public Result delete(@PathVariable Integer id) {
        try{
            userService.deleteUser(id);
        }catch(Exception e){
            return Result.error("删除失败");
        }
        return Result.success();
    }

    @GetMapping("/getAll")
    public Result getAll() {
        List<User> userList = userService.getAll();
        return Result.success(userList);
    }
    @GetMapping("/getById/{id}")
    public Result getById(@PathVariable Integer id) {
        User user = userService.getById(id);
        return Result.success(user);
    }
    @GetMapping("/getMo")
    public Result getMo(@RequestParam String name , @RequestParam String userName) {
        List<User> userList = userService.getByMo(name,userName);
        return Result.success(userList);
    }
    @GetMapping("/getPage")
    public Result getPage(@RequestParam Integer pageNum,//页码
                          @RequestParam Integer pageSize,//
                          @RequestParam String name ,
                          @RequestParam String userName) {
        Map<String, Object> result = new HashMap<>();
        List<User> userList = userService.getByPage(pageNum,pageSize,name,userName);
        result.put("userList",userList);
        result.put("total",0);
        return Result.success(userList);
    }
    @GetMapping("/selectAll")
    public Result selectAll() {
        List<User> userList = userService.getAll();
        return Result.success(userList);
    }

}

webController

package com.example.demo1215day1215.controller;

import com.example.demo1215day1215.commons.Result;
import com.example.demo1215day1215.entity.User;
import com.example.demo1215day1215.service.UserService;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;


@RestController
public class WebController {
    @Resource
    UserService userService;
    @GetMapping
    public Result hello(){
        return Result.success("success");
    }
    @PostMapping("/login")
    public Result login(@RequestBody User user){
        user = userService.login(user);
        return Result.success(user);

    }
    @PostMapping("/register")
    public Result register(@RequestBody User user){
        if (user.getUserName().length()>10 || user.getPassword().length()>20) {
            return Result.error("数据输入不合法");
        }
        user = userService.register(user);
        return Result.success(user);

    }

}

实体类

User.java

package com.example.demo1215day1215.entity;

import lombok.Data;

@Data
public class User {
    private Integer id;
    private String userName;
    private String password;
    private String name;
    private String phone;
    private String email;
    private String address;
    private String avatar;
}

mapper层代码

UserMapper.java

package com.example.demo1215day1215.mapper;

import com.example.demo1215day1215.entity.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface UserMapper {
    @Insert("insert into `user`(userName,password,name,phone,email,address,avatar) " +
            "values (#{userName},#{password},#{name},#{phone},#{email},#{address},#{avatar})")
    void insertUser(User user);
    @Update("update `user` set userName = #{userName},password = #{password},name = #{name},phone = #{phone}," +
            "email = #{email},address = #{address},avatar = #{avatar} where id = #{id}")
    void updateUser(User user);
    @Delete("delete from `user` where id = #{id}")
    void deleteUser(Integer id);
    //    倒序 order by id desc
    @Select("Select * from `user`")
    List<User> getAll();
    @Select("Select * from `user` where id = #{id} order by id desc")
    User getById(Integer id);
    //模糊查询
    @Select("select * from `user` where userName like concat('%', #{userName},'%') and name like concat('%', #{name},'%') order by id desc")
    List<User> getByMo(String name, String userName);
    //多条件分页模糊查询 9
//    http://localhost:9090/user/getPage?userName=qwe&name=123&pageNum=1&pageSize=5
    @Select("select * from `user`where userName like concat('%',#{userName},'%')and name like concat('%',#{name},'%') order by id desc limit #{skipNum},#{pageSize}")
    List<User>getByPage(@Param("skipNum")Integer skipNum,@Param("pageSize")Integer pageSize,@Param("userName")String userName,@Param("name")String name);

    @Select("select * from `user` where userName = #{userName} ")
    User selectByUserName(User user);
}

service层

UserService.java

package com.example.demo1215day1215.service;

import com.example.demo1215day1215.entity.User;
import com.example.demo1215day1215.exception.ServiceException;
import com.example.demo1215day1215.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public void insertUser(User user) {
        userMapper.insertUser(user);
    }
    public void updateUser(User user) {
        userMapper.updateUser(user);
    }


    public void deleteUser(Integer id) {
        userMapper.deleteUser(id);
    }

    public List <User> getAll() {
        return userMapper.getAll();

    }
    public User getById(Integer id) {
        return userMapper.getById(id);
    }

    public List<User> getByMo(String name, String userName) {
        return userMapper.getByMo(name,userName);
    }

    public List<User> getByPage(Integer pageNum,Integer pageSize,String name, String userName) {
        Integer skipNum = (pageNum-1)*pageSize;//计算出来
        return userMapper.getByPage(skipNum,pageSize,userName,name);
    }

    public User login(User user) {
        User dbUser = userMapper.selectByUserName(user);
        if(dbUser == null) {
            throw new ServiceException("用户名或密码错误");
        }
        if(!user.getPassword().equals(dbUser.getPassword())){
            throw new ServiceException("用户名或密码错误");
        }
        return dbUser;
    }

    public User register(User user) {
        User dbUser = userMapper.selectByUserName(user);
        if (dbUser != null) {
            throw new ServiceException("用户名已存在");
        }
        user.setName(user.getUserName());
        userMapper.insertUser(user);
        return user;
    }
}

统一响应封装结果

package com.example.demo1215day1215.commons;

import lombok.Builder;
import lombok.Data;

@Data

@Builder
public class Result {
    public static final String CODE_SUCCESS = "200";
    public static final String CODE_AUTH_ERROR = "401";
    public static final String CODE_SYS_ERROR = "500";

    /*
     * 请求的返回线码200 401 404 508
     * 端码表示这次请求是成功还是失败
     * 或者说可以看出失救的类型是什么
     */
    private String code;
    private String msg;
    private Object data;

    public Result() {
    }

    public Result(String code, String msg, Object data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    public static Result success() {
        return new Result(CODE_SUCCESS, "请求成功", null);
    }

    public static Result success(Object data) {
        return new Result(CODE_SUCCESS, "请求成功", data);
    }

    public static Result error(String msg) {
        return new Result(CODE_SYS_ERROR, msg, null);
    }

    public static Result error(String code, String msg) {
        return new Result(code, msg, null);
    }

    public static Result error() {
        return new Result(CODE_SYS_ERROR, "系统错误", null);

    }
}

以上是后端增删改查实现的代码。

posted @ 2024-12-15 14:22  haoyinuo  阅读(21)  评论(0)    收藏  举报