MybatisPlus——常用注解

MybatisPlus——常用注解

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

BaseMapper后的指向的是User实体类

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. 变量名驼峰转下划线作为表的字段名
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注解

@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雪花算法

@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) )
@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;
}

 

 

 

相关推荐

  1. MybatisPlus 注解

    2024-04-14 15:40:01       48 阅读
  2. SpringBoot注解

    2024-04-14 15:40:01       62 阅读
  3. SpringMVC注解

    2024-04-14 15:40:01       45 阅读
  4. SpringMVC注解

    2024-04-14 15:40:01       59 阅读
  5. Spring注解!!!

    2024-04-14 15:40:01       67 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-14 15:40:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-14 15:40:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-14 15:40:01       82 阅读
  4. Python语言-面向对象

    2024-04-14 15:40:01       91 阅读

热门阅读

  1. 谷歌翻译接口-国内使用在线翻译API

    2024-04-14 15:40:01       31 阅读
  2. 云服务器&宝塔&ssh:tabby 部署SpringBoot项目

    2024-04-14 15:40:01       188 阅读
  3. 《高等数学》笔记

    2024-04-14 15:40:01       34 阅读
  4. 两分钟启动一个flask应用

    2024-04-14 15:40:01       34 阅读
  5. 使用requests包批量下载网页图片

    2024-04-14 15:40:01       36 阅读
  6. Android 日历-周视图

    2024-04-14 15:40:01       36 阅读
  7. html中部分重要或有趣的标签讲解

    2024-04-14 15:40:01       38 阅读
  8. 算法与数据结构 循环队列 (C++)

    2024-04-14 15:40:01       41 阅读