从0搭建一个Springboot+vue前后端分离项目(六)后台编写配置类与接口
新建一个包,里面放入一些常用的配置类
引入mybatis-plus包与插件
引入包
前往官网查看
https://baomidou.com/pages/226c21/#%E5%88%9D%E5%A7%8B%E5%8C%96%E5%B7%A5%E7%A8%8B
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version>
</dependency>
MybatisPlusConfig----MybatisPlus配置文件
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
@MapperScan("com.example.demo.mapper")
public class MybatisPlusConfig {/*** mybatis-plus.分页插件* @return*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));return interceptor;}
}
配置result包装返回与前台交互数据对象
code 代表成功或者失败;
msg即返回的信息
package com.example.demo.common;
//T是范型
public class Result<T> {private String code;private String msg;private T 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 T getData() {return data;}public void setData(T data) {this.data = data;}public Result(){}public Result(T data){this.data = data;}public static Result success(){Result result = new Result<>();result.setCode("0");result.setMsg("成功");return result;}//返回一个数据public static <T> Result<T> success(T data) {Result<T> result = new Result<>(data);result.setCode("0");result.setMsg("成功");return result;}//错误返回public static Result error(String code,String msg){Result result = new Result();result.setCode(code);result.setMsg(msg);return result;}
}
编写用户接口
新建一个包entity实体类
建一个java对象与数据库进行一 一对应
package com.example.demo.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;//与数据库的表名一一对应
@TableName("user")
//使用lombok插件简化快速写代码
@Data
public class User {//定义自增@TableId(type = IdType.AUTO)private Integer id;private String username;private Integer age;private String sex;private String address;private String password;}
编写用户接口UserControlller
新建一个包Controller
package com.example.demo.controller;import com.example.demo.common.Result;
import com.example.demo.entity.User;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;//定义返回json数据
@RestController
//定义路由
@RequestMapping("/user")
public class UserController {//定义post接口@PostMapping//前端网页的新增用户接口,@RequestBody作用是使前台传来的json格式的代码转化为java对象public Result save(@RequestBody User user) {}}
拿到user数据之后就可以把它插入到数据库当中,编写mapper部分
创建一个UserMapper接口类
前往mybatis-plus官网参考
https://baomidou.com/pages/49cc81/#mapper-crud-%E6%8E%A5%E5%8F%A3
继承BaseMapper 就可以实现一些数据库单表的增删改查
package com.example.demo.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;public interface UserMapper extends BaseMapper<User> {}
最后完善一下UserConler接口
package com.example.demo.controller;import com.example.demo.common.Result;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;//定义返回json数据
@RestController
//定义路由
@RequestMapping("/user")
public class UserController {//将mapper引入@ResourceUserMapper userMapper;//定义post接口@PostMapping//前端网页的新增用户接口,@RequestBody作用是使前台传来的json格式的代码转化为java对象//<?>泛型表示任何一种类型public Result<?> save(@RequestBody User user) {userMapper.insert(user);return Result.success();}}
从0搭建一个Springboot+vue前后端分离项目(六)后台编写配置类与接口相关推荐
- 从0搭建一个Springboot+vue前后端分离项目(一)安装工具,创建项目
从0搭建一个Springboot+vue前后端分离项目(二)使用idea进行页面搭建+页面搭建 参考学习vue官网文档 https://v3.cn.vuejs.org/guide/installati ...
- 从0搭建一个Springboot+vue前后端分离项目(七)完善前台与后台的联系,完善功能接口
将之前前端写的表格内容,与数据库新建的表进行对应 启动项目 把写死的TableDa数据删掉.因为最终要从后台读取 完善新增接口 <el-button type="primary&quo ...
- 从0搭建一个Springboot+vue前后端分离项目(四)利用Element框架搭建页面主体部分表格与侧边栏
https://element-plus.gitee.io/zh-CN/component/menu.html 导航栏部分 选定menu菜单,选择竖型样式的 复制一下 <el-menudefau ...
- 从0搭建一个Springboot+vue前后端分离项目(五)创建后台Springboot工程
前往Springboot官网 https://start.spring.io/ 选择版本和依赖 SpringWeb: 可以实现接口的开发; MysqlDriver:连接数据库; Lombok简化jav ...
- 从0搭建一个Springboot+vue前后端分离项目(三)使用idea进行页面搭建+Element框架
因为搭建一个后台管理系统,如果要手写CSS样式很繁琐,这里使用ELement框架 安装Element npm install element-plus --save 引入Element import ...
- 从0搭建一个Springboot+vue前后端分离项目(八)把数据从后台传到前端进行展示渲染,完善增删改查
首先引入hutool工具类 Hutool是一个Java工具包类库,对文件.流.加密解密.转码.正则.线程.XML等JDK方法进行封装,组成各种Util工具类 Hutool是一个小而全的Java工具类库 ...
- 从0搭建一个Springboot+vue前后端分离项目(二)使用idea进行页面搭建+页面搭建
把(一)里面创建好的项目文件夹拖入到IDEA里面 进行完上步操作后就可以快捷的启动项目了 这里稍微修改一下可以让我们启动项目后,自动地打开页面 页面搭建和改造 对此项目文件进行改造,改造成最终我们需要 ...
- springboot+vue前后端分离项目(后台管理系统)
学习笔记 学习资源来自于B站UP,up他讲的非常详细,对于熟悉两大框架很有用. 我的作业源代码在文章末尾,欢迎有需要的同学,学习参考使用,内置SQL文件,导入后,开启springboot和vue服务即 ...
- springboot+vue前后端分离项目(后台管理系统
2.注册页面这两个页面可以自由切换 3.root登录后的默认页面以及高亮显示 4.几个页面的展示 ![在这里插入图片描述](https://img-blog.csdnimg.cn/04b499bfbf ...
最新文章
- 冒泡排序的原理,思路,以及算法分析(Java实现)
- ubuntu下和开发板下播放音乐
- linux xps 13 wifi,XPS13-9350安装linux以及网卡连接失败修复的临时方案
- [js]删除以 [ 开始以 ]结尾且不含:内容
- 禁止i5笔记本按Ctrl+Alt+向下键翻转屏幕
- DW —— 静态图片的交替更换
- 完全备份、差异备份以及增量备份的区别
- dm连接mysql_DM数据库JDBC连接
- python jinja2_Python模块学习 - jinja2
- uni-app 实现记住账号密码功能
- [ Java面试题 ]Java 开发岗面试知识点解析
- 百度云搜索引擎森林战士_华为拟安装“俄版安卓”;百度回应内部贪腐;Android Studio 3.5 RC2 发布 | 极客头条...
- 中国地质大学计算机学院保研率,2020年中国地质大学(北京)保研率是多少
- 从顶会层面看科研!计算机顶级会议大盘点!
- 运营好社群——打造你专属的新媒体流量入口! | 黎想
- 2 万多字,183 道 Java 面试题分析及答案
- 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的
- ANSYS Workbench结构分析网格划分的总体控制和局部控制解析
- virtualbox Ubuntu虚拟机与主机共享粘贴板
- 实训 Day09 实习日志