当前位置: 首页 > article >正文

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的便签(表格里面的便签)

分页配置:

多表查询:


http://www.kler.cn/a/355131.html

相关文章:

  • Linux快速入门-Linux文件系统管理
  • 递归查询全量分页数据问题
  • Java基础面试题19:解释什么是Servlet链
  • DCN-DCN路由器online_list.php存在任意文件读取漏洞
  • Pytorch | 利用NI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击
  • 用java造1万条数据
  • 从美的第二届远见者大会看AI与能源转型的未来
  • 牛客习题—线性DP 【mari和shiny】C++
  • Java后端基础自测
  • 【人工智能/计算机工程/大数据】第五届人工智能与计算工程国际学术会议(ICAICE 2024,2024年11月8-10日)
  • Android——发送彩信
  • ANSYS Workbench纤维混凝土3D
  • 笔试强训10.19
  • Vue(3) 组件
  • [搜索] 质数
  • openresty通过header_filter_by_lua记录特定的请求头和特定的响应头到日志文件
  • 人工智能产业链发展状况
  • 设计模式之组合模式(Composite)
  • Torch JIT加速推理
  • Matlab中实现类属性仅在首次创建类实例时初始化
  • 芯知识 | NVH-FLASH语音芯片支持平台做语音—打造音频IC技术革新
  • 隐私保护机器学习技术与实践
  • 【C++标准模版库】unordered_map和unordered_set的介绍及使用
  • DMP驱动库
  • 【H5】关于react移动端H5的滚动吸顶方案实践总结
  • java--网络编程