spring-boot学习(2)
上次学习截止到拦截器
1.构建RESfun服务
PathVariable通过url路径获取url传递过来的信息
2.MyBatisPlus
第三行的mydb要改为自己的数据库名
第四,五行的账号密码改成自己的
@MaooerScan告诉项目自己的这个MyBatisPlus是使用在哪里的,包名
实体类的定义:
MyBtaisPlus可以减少基本sql语句的应用,继承BaseMapper<T>即可,T为你的实体类。
键的注解:
在 Java 开发中,尤其是在使用 MyBatis-Plus 这样的 ORM 框架时,@TableId
和 @TableField
注解用于描述与数据库表字段的映射关系。以下是这两个注解的详细解释:
1. @TableId
@TableId
注解用于标识实体类中的主键字段。它提供了主键的相关配置,确保在数据库操作时正确处理主键。
主要属性:
- value: 指定数据库表中的主键字段名。
- type: 指定主键的生成策略,可以是以下几种类型:
Input
: 用户手动输入主键ID_WORKER
: 雪花算法生成主键(默认)UUID
: 生成 UUID 作为主键ASSIGN_ID
: 自增主键(如数据库自增字段)
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@TableName("user")
public class User {
@TableId(value = "user_id", type = IdType.ASSIGN_ID)
private Long userId;
private String username;
private String email;
// getters 和 setters
}
2. @TableField
@TableField
注解用于描述实体类中的普通字段,指定它们与数据库表字段的映射关系。可以用来控制字段的特性,如是否在 SQL 操作中包含、字段名等。
主要属性:
- value: 指定数据库表中的字段名。
- exist: 指定该字段在数据库表中是否存在,默认值为
true
。如果设置为false
,则在数据库操作时将忽略该字段。 - fill: 用于字段的自动填充策略,常用于插入或更新时填充字段(例如创建时间、修改时间等)。
示例:
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
@TableName("user")
public class User {
@TableId(value = "user_id", type = IdType.ASSIGN_ID)
private Long userId;
@TableField("username")
private String username;
@TableField(value = "email", exist = true)
private String email;
@TableField(value = "created_time", fill = FieldFill.INSERT)
private LocalDateTime createdTime;
// getters 和 setters
}
3. 总结
@TableId
用于定义实体类的主键及其生成策略。@TableField
用于定义普通字段及其数据库映射关系,提供更多的灵活性。- 这两个注解是 MyBatis-Plus 中简化数据库操作的核心部分,可以帮助开发者更方便地进行数据持久化管理。
3.MyBtisPlus的多表查询及分页查询
这里的代替什么便签,是指MyBatis的便签(表格里面的便签)
分页配置:
多表查询: