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编写。