mybatis plus常用注解的具体使用

yizhihongxing

下面是关于MyBatis Plus常用注解的具体使用攻略。

简介

MyBatis Plus是一个开源的基于MyBatis的ORM框架,可以用于快速的进行Java Web应用的开发。MyBatis Plus提供了很多方便的注解,用于简化SQL语句编写和提高开发效率。

常用注解

@TableName

@TableName 注解用于标识当前实体对应的表名。如果实体名称与表名不同,可以使用此注解指定表名,否则不需要使用此注解。

@TableName("user_info")
public class User {
    private Long id;
    private String name;
    private Integer age;
    //省略getters and setters方法
}

@TableId

@TableId 注解用于标识当前实体对应的主键字段。如果实体类中只有一个主键字段,可以不需要使用此注解;如果有多个主键字段,则需要使用此注解来指定主键字段。

public class User {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    //省略getters and setters方法
}

@TableField

@TableField 注解用于标识当前字段对应的表字段。如果实体类中字段名与表字段名相同,可以不需要使用此注解;否则需要使用此注解指定表字段名。

public class User {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @TableField("user_name")
    private String name;
    private Integer age;
    //省略getters and setters方法
}

@EnumValue

@EnumValue 注解用于标识当前字段对应的枚举值。如果实体类中字段类型是枚举类型,可以使用此注解指定枚举的值。

public enum Gender {
    Male(1, "男"),
    Female(2, "女");
    @EnumValue
    private final int value;
    private final String desc;
    //省略构造方法和getters方法
}
public class User {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    private Gender gender;
    //省略getters and setters方法
}

@SqlParser

@SqlParser 注解用于标识当前方法中的SQL语句使用了自定义的SQL解析器。如果需要自定义SQL解析器,可以使用此注解标识当前方法中需要使用自定义的SQL解析器。

public interface UserMapper extends BaseMapper<User> {
    @SqlParser(handler = MySqlParser.class)
    @Select("select * from user where id = #{id}")
    User getById(@Param("id") Long id);
}

示例说明

示例1:使用@TableName注解

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@TableName("book_info")
public class Book {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private String name;
    private String author;
}

public interface BookMapper extends BaseMapper<Book> {
}

在实体类Book上使用@TableName注解标识表名为book_info,然后在BookMapper中继承BaseMapper,即可直接使用MyBatis Plus提供的通用CRUD方法。

示例2:使用@EnumValue注解

public enum Status {
    RUNNING(1, "运行中"),
    STOPPED(2, "已停止"),
    UNKNOWN(0, "未知状态");
    @EnumValue
    private int value;
    private String desc;

    Status(int value, String desc) {
        this.value = value;
        this.desc = desc;
    }
}

@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@TableName("server_info")
public class Server {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private String name;
    private String url;
    private Status status;
}

public interface ServerMapper extends BaseMapper<Server> {
}

在实体类Server中使用@EnumValue注解标识status字段对应的枚举值,然后在ServerMapper中继承BaseMapper,即可直接使用MyBatis Plus提供的通用CRUD方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis plus常用注解的具体使用 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • opencv实现机器视觉检测和计数的方法

    Opencv实现机器视觉检测和计数的方法 介绍 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,可以用来处理数字图像和视频,并实现计算机视觉中的许多常见任务,例如特征检测、目标跟踪、物体识别、图像分割等。机器视觉检测和计数程序可以用于许多场景,例如人流量统计、车流量统计等。 步骤 下面是一些实现…

    C 2023年5月23日
    00
  • 一些C语言中字符串的算法问题解决实例小结

    我来详细讲解“一些C语言中字符串的算法问题解决实例小结”的完整攻略。攻略中包含以下内容: 引言 在C语言中,字符串是一种常见的数据类型,其操纵涉及到各种算法问题,因此学习一些C语言字符串的算法问题解决实例是很必要的。 字符串的定义和表示方法 字符串是由字符组成的一串数据,可以使用字符数组或指针来定义和表示。字符数组的定义方式如下: c char str[20…

    C 2023年5月22日
    00
  • C语言实现简易文本编译器

    C语言实现简易文本编译器 本攻略将介绍如何使用C语言实现一个简易文本编译器。编译器会将输入的文本文件转换为标准的HTML格式并输出到文件中。 准备工作 在开始之前,你需要安装一个C语言编译器,例如gcc或clang,并确保在你的系统上运行正常。你也需要掌握基本的C语言语法。 构建编译器 首先,我们需要将我们的编译器分为两个部分:词法分析器和语法分析器。 词法…

    C 2023年5月23日
    00
  • C++实现简单职工信息管理系统

    C++实现简单职工信息管理系统攻略 1. 需求分析 简单职工信息管理系统需要实现以下功能: 添加职工信息 显示职工信息 删除职工信息 修改职工信息 查找职工信息 排序 清空职工信息 退出系统 2. 设计思路 2.1 类的设计 我们可以设计一个职工类,用于存储职工的信息,包括编号、姓名、部门编号、职位信息等。同时,我们还可以设计一个管理类,用于管理所有的职工信…

    C 2023年5月23日
    00
  • 深入了解C语言结构化的程序设计

    深入了解C语言结构化的程序设计攻略 为了深入了解C语言结构化的程序设计,需要掌握以下几个方面的知识: 1. C语言基础知识 在学习C语言结构化的程序设计前,需要先掌握C语言的基础知识,如数据类型、运算符、控制结构、函数等等。如果你还没有接触过C语言,可以先参考以下的学习资料: C语言教程 C语言入门教程 2. 结构化编程的基础原理 结构化编程是一种编写可读性…

    C 2023年5月23日
    00
  • 详解c++良好的编程习惯与编程要点

    详解C++良好的编程习惯与编程要点 C++是一门广泛使用的编程语言,它的语法和特性非常丰富,同时也具有很高的灵活性。但是,如果我们没有遵循一些良好的编程习惯和编程要点,将会使我们的代码难以阅读和维护。下面我们将详细讲解C++良好的编程习惯与编程要点。 1. 命名规范 良好的命名规范是写出易读易懂的代码的关键。我们应该遵循以下命名规范: 变量名和函数名应该是有…

    C 2023年5月22日
    00
  • C语言利用cJSON解析JSON格式全过程

    当我们需要获取某个Web API的数据时,一般情况下会返回JSON格式的数据。如何使用C语言来解析这些JSON数据呢?这时候,就可以使用cJSON开源库。 cJSON是一款轻量级、快速的C语言JSON解析器。它使用简单,只需要包含一个头文件”cJSON.h”,并将相关代码文件加入到项目中即可。下面将详细讲解cJSON解析JSON格式的全过程。 第一步:安装c…

    C 2023年5月22日
    00
  • notepad++结合tcc构建c语言开发环境的图文方法

    下面是“notepad++结合tcc构建c语言开发环境的图文方法”的完整攻略。 准备工作 在开始构建C语言开发环境之前,我们需要准备以下工具和软件: notepad++文本编辑器 tcc编译器 请确保这些工具和软件已经下载并安装在你的电脑中。 安装notepad++插件 notepad++是一款功能强大的文本编辑器,支持众多编程语言的语法高亮和自动补全功能。…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部