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: 自增主键(如数据库自增字段)
java 复制代码
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: 用于字段的自动填充策略,常用于插入或更新时填充字段(例如创建时间、修改时间等)。
示例:
java 复制代码
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的便签(表格里面的便签)

分页配置:

多表查询:

相关推荐
我材不敲代码3 小时前
Python实现打包贪吃蛇游戏
开发语言·python·游戏
身如柳絮随风扬4 小时前
Java中的CAS机制详解
java·开发语言
韩立学长5 小时前
【开题答辩实录分享】以《基于Python的大学超市仓储信息管理系统的设计与实现》为例进行选题答辩实录分享
开发语言·python
风筝在晴天搁浅5 小时前
hot100 78.子集
java·算法
froginwe115 小时前
Scala 循环
开发语言
m0_706653236 小时前
C++编译期数组操作
开发语言·c++·算法
故事和你916 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
Bruk.Liu6 小时前
(LangChain实战2):LangChain消息(message)的使用
开发语言·langchain
qq_423233906 小时前
C++与Python混合编程实战
开发语言·c++·算法
m0_715575346 小时前
分布式任务调度系统
开发语言·c++·算法