MybatisPlus——常用注解

MybatisPlus------常用注解

MybatisPlus通过扫描实体类,并基于反射获取实体类信息作为数据库表信息

BaseMapper后的指向的是User实体类

java 复制代码
package com.example.mybatisplus02.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.mybatisplus02.entity.User;

public interface UserMapper extends BaseMapper<User> {
}

对应到表的表的结构遵循一下规则:

  1. 类名驼峰转下划线座位表名
  2. 名为id的字段作为主键
  3. 变量名驼峰转下划线作为表的字段名
java 复制代码
package com.example.mybatisplus02.entity;

import lombok.Data;

@Data
public class User {
    private Integer userId;
    private String userName;
    private String password;
}

MybatisPlus------常用注解

  • @TableName:用来指定表名
  • @TableId:用来指定表中的主键字段信息
  • @TableField:用来指定表中普通字段信息

1、如果表的名称与实体类的名称不符,需要用到@TableName注解

java 复制代码
@Data
@TableName("t_user")
public class User {
    private Integer id;
    private String userName;
    private String password;
}

与数据库中的t_user表对应

2、定义主键id,在实体类中建议都要用注解来定义上id,防止找不到id而报错

value:表示要指向的数据库的表名称

type:IdType:

AUTO:数据库自增长

INPUT:通过set方法自行输入

ASSIGN_ID:接口IdentifierGenerator的方法nextId来生成ID

默认实现类为:DefaultIdentifierGenerator雪花算法

java 复制代码
@Data
@TableName("t_user")
public class User {
    @TableId(value = "user_id" ,type = IdType.AUTO)
    private Integer id;
    private String userName;
    private String password;
}

3、 如果表的字段与实体类的中不符,需要用到@TableField注解

使用@TableField注解的常见场景

  • 成员变量名与数据库字段名不一致
  • 成员变量名以is开头,而且是布尔值
  • 成员变量名与数据库关键字冲突
  • 成员变量不是数据库字段(@TableField(exist = fales) )
java 复制代码
@Data
@TableName("t_user")
public class User {
    @TableId(value = "user_id" ,type = IdType.AUTO)
    private Integer id;
    private String userName;
    @TableField(value = "password")
    private String passWord;
}
相关推荐
zc.z26 分钟前
JAVA实现:纯PCM格式音频转换成BASE64
java·音视频·pcm
mask哥1 小时前
力扣算法java实现汇总整理(上)
java·算法·leetcode
Aaswk2 小时前
Java Lambda 表达式与流处理
java·开发语言·python
是宇写的啊2 小时前
Spring AOP
java·spring
万邦科技Lafite2 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
Mr_pyx4 小时前
Spring AI 入门教程:Java开发者的AI应用捷径
java·人工智能·spring
Zephyr_04 小时前
Leedcode算法题
java·算法
苍煜4 小时前
Java开发IO零基础吃透:BIO、NIO、同步异步、阻塞非阻塞
java·python·nio
折哥的程序人生 · 物流技术专研5 小时前
Java面试85题图解版(一):基础核心篇
java·开发语言·后端·面试
AllData公司负责人5 小时前
通过Postgresql同步到Doris,全视角演示AllData数据中台核心功能效果,涵盖:数据入湖仓,数据同步,数据处理,数据服务,BI可视化驾驶舱
java·大数据·数据库·数据仓库·人工智能·python·postgresql