2021-11-20_学习B站Spring Boot+vue项目step004:引入mybatis-plus分页、写包装类、controller、entity及相关注解用法

今天学习内容为:引入mybatis-plus分页、写包装类、controller、entity及相关注解用法

3. P2内容

3.2 写接口

common包,放我们常用的配置类

3.2.1 MybatisPlusConfig.java 有分页插件相关配置(需要引入mybatis-plus的依赖)

本地maven无法导入依赖的原因是下图中第4行,必须写明确最新版本号是多少(例如目前的3.4.3.4),而不能直接从官网把这段xml直接复制来用。

1 <dependency>
2     <groupId>com.baomidou</groupId>
3     <artifactId>mybatis-plus-boot-starter</artifactId>
4     <version>mybatis-plus-latest-version</version>
5 </dependency>

3.2.2 Result.java 返回给前台数据的包装类

3.2.3 开始写接口

3.2.3.1 建controller包

3.2.3.1.1 注解@RestController,定义这是一个返回JSON的controller,专门用来返回JSON数据。

3.2.3.1.2 注解@RequestMapping,定义一个路由,/user是接口统一的路由。

3.2.3.1.3 注解@PostMapping定义一个post接口。如果你需要定义一个post接口,你直接写一个@PostMapping这样的注解就可以了。

3.2.3.1.4 注解@RequestBody:把前台传过来的JSON转换成java对象。当前台传过来一个JSON对象,把它映射成后台java实体,就是这个user。

/**
 * 用户 控制器
 * 注解@RestController,定义这是一个返回JSON的controller,专门用来返回JSON数据。
 * 注解@RequestMapping,定义一个路由,/user是接口统一的路由
 * @author konglc
 * @date 2021/11/20 23:15
 */
@RestController
@RequestMapping("/user")
public class UserController {

    /**
     * 注解@PostMapping定义一个post接口。如果要定义一个post接口,直接写一个@PostMapping这样的注解就可以了。
     * 它的路由就是/user
     *
     * 注解@RequestBody:把前台传过来的JSON转换成java对象。
     * 当前台传过来一个JSON对象,把它映射成后台java实体,就是这个user。
     */
    @PostMapping
    public Result save(@RequestBody User user){
        // TODO 通过调用Service把user存入数据库
        Result<User> result = new Result<>(user);
        return result;
    }
}

3.2.3.2 建entity包

3.2.3.2.1 注解@TableName:如果用的是mybatis-plus这个插件,则需要定义一个TableName跟数据库表的名字一一对应,这个是必须写的。

3.2.3.2.2 注解@Data:Lombok简化javabean操作,通过@Data帮我们生成get、set方法。

3.2.3.2.3 注解@TableId:定义主键。value="id",因为我们这里定义的主键就叫id,所以value="id"可以不写。type = IdType.AUTO:自动生成。

/**
 * 注解@TableName:如果用的是mybatis-plus这个插件,
 * 则需要定义一个TableName跟数据库表的名字一一对应,这个是必须写的。
 * 注解@Data:Lombok简化javabean操作,通过@Data帮我们生成get、set方法。
 * @author konglc
 * @date 2021/11/20 23:36
 */
@TableName()
@Data
public class User {
    /**
     * 注解@TableId:定义主键。value="id",因为我们这里定义的主键就叫id,所以value="id"可以不写。
     * type = IdType.AUTO:自动生成
     */
    @TableId(value="id", type = IdType.AUTO)
    private Integer id;
    private String username;
    private String password;
    private String nickName;
    private Integer age;
    private String sex;
    private String address;
}

目前进行到P2的36:14,下一步是继续根据视频,进行service、mapper编写。

posted on 2021-11-21 00:19  平凡力量  阅读(110)  评论(0编辑  收藏  举报