【热门框架】Mybatis-Plus怎样进行映射匹配兼容?Mybatis-Plus的ID有哪些生成策略

Mybatis-Plus提供了两种映射匹配兼容的方式:驼峰转下划线和全局配置。

  1. 驼峰转下划线

默认情况下,Mybatis-Plus会将Java类中的驼峰命名方式自动映射到数据库表中的下划线命名方式。例如,Java类中的userName属性会自动映射到表中的user_name字段。

如果需要手动设置Java属性到数据库字段的映射关系,可以在实体类中使用@TableField注解,例如:

public class User {
    @TableId
    private Long id;

    @TableField("user_name")
    private String userName;

    // ...其他属性和方法
}

在这个例子中,Java类中的userName属性将被映射到数据库表中的user_name字段。

  1. 全局配置

Mybatis-Plus提供了全局配置来控制映射匹配的方式。在配置文件中,可以使用如下配置来启用或禁用驼峰转下划线功能:

<mybatis-plus>
    <global-config>
        <db-config>
            
            <column-underline>truecolumn-underline>
        db-config>
    global-config>
mybatis-plus>

在这个例子中,配置了全局开启驼峰下划线转换功能。当这个功能开启时,Java类中的userName属性会自动映射到表中的user_name字段。当这个功能关闭时,Java类中的userName属性会自动映射到表中的userName字段。

Mybatis-Plus支持以下几种ID生成策略:

  1. ASSIGN_ID: 自定义ID,需要手动设置ID的值;
  2. ASSIGN_UUID: 基于UUID的自定义ID,需要手动设置ID的值;
  3. ID_WORKER: 生成19位的全局唯一ID,使用Snowflake算法生成;
  4. ID_WORKER_STR: 与ID_WORKER相同,但是生成的是字符串类型的ID;
  5. ID_WORKER_32: 生成32位的全局唯一ID,使用自定义算法生成;
  6. ID_WORKER_32_HEX: 与ID_WORKER_32相同,但是生成的是16进制字符串类型的ID;
  7. UUID: 基于UUID的随机ID,使用JDK自带的UUID生成。

这些ID生成策略可以通过注解或XML进行配置。例如,使用注解可以在实体类的主键属性上加上@TableId注解,配置生成策略和对应的序列名,示例如下:

public class User {
    @TableId(type = IdType.ID_WORKER)
    private Long id;
    private String name;
    // ...
}

使用XML可以在对应的

标签中进行配置,示例如下:

<table tableName="user">
    <id type="AUTO">
        <column name="id"/>
    id>
    
table>

其中type属性用于指定生成策略。在以上示例中,AUTO表示使用Mybatis-Plus默认的生成策略,即ID_WORKER。可以根据实际需求进行配置。

你可能感兴趣的:(mybatis,java,spring)