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);
}
}
以上是后端增删改查实现的代码。