[Marco popular] ¿Cómo realiza Mybatis-Plus la compatibilidad de correspondencia y mapeo? ¿Cuáles son las estrategias de generación de Mybatis-Plus ID?

Mybatis-Plus proporciona dos métodos de mapeo compatibles: camel case to underscore y configuración global.

  1. CamelCase para subrayar

De forma predeterminada, Mybatis-Plus asignará automáticamente el método de denominación de joroba en la clase Java al método de denominación de guión bajo en la tabla de la base de datos. Por ejemplo, el atributo de nombre de usuario en la clase Java se asigna automáticamente al campo de nombre de usuario en la tabla.

Si necesita establecer manualmente la relación de asignación entre las propiedades de Java y los campos de la base de datos, puede usar la anotación @TableField en la clase de entidad, por ejemplo:

public class User {
    
    
    @TableId
    private Long id;

    @TableField("user_name")
    private String userName;

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

En este ejemplo, la propiedad de nombre de usuario en la clase de Java se asignará al campo de nombre de usuario en la tabla de la base de datos.

  1. configuración global

Mybatis-Plus proporciona una configuración global para controlar la forma de emparejar el mapeo. En el archivo de configuración, puede usar la siguiente configuración para habilitar o deshabilitar la función de joroba a guión bajo:

<mybatis-plus>
    <global-config>
        <db-config>
            <!-- 开启驼峰下划线转换 -->
            <column-underline>true</column-underline>
        </db-config>
    </global-config>
</mybatis-plus>

En este ejemplo, la función de conversión de mayúsculas y minúsculas y guiones bajos está habilitada globalmente. Cuando esta característica está activada, el atributo de nombre de usuario en la clase de Java se asigna automáticamente al campo de nombre de usuario en la tabla. Cuando esta función está desactivada, el atributo de nombre de usuario en la clase Java se asigna automáticamente al campo de nombre de usuario en la tabla.

Mybatis-Plus admite las siguientes estrategias de generación de ID:

  1. ASSIGN_ID: ID personalizado, debe configurar manualmente el valor de ID;
  2. ASSIGN_UUID: ID personalizado basado en UUID, debe configurar manualmente el valor de ID;
  3. ID_WORKER: genere una identificación global única de 19 dígitos utilizando el algoritmo Snowflake;
  4. ID_WORKER_STR: ID_WORKERigual que, pero el ID generado es un tipo de cadena;
  5. ID_WORKER_32: genere una identificación global única de 32 bits utilizando un algoritmo personalizado;
  6. ID_WORKER_32_HEX: ID_WORKER_32Igual que, pero el ID generado es un tipo de cadena hexadecimal;
  7. UUID: ID aleatorio basado en UUID, generado usando el UUID que viene con JDK.

Estas estrategias de generación de ID se pueden configurar a través de anotaciones o XML. Por ejemplo, las anotaciones se pueden utilizar para agregar anotaciones al atributo de clave principal de la clase de entidad @TableId, configurar la estrategia de generación y el nombre de secuencia correspondiente, el ejemplo es el siguiente:

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

<table>XML se puede utilizar para configurar en las etiquetas correspondientes , los ejemplos son los siguientes:

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

Entre ellos, typeel atributo se utiliza para especificar la estrategia de generación. En el ejemplo anterior, AUTOsignifica utilizar la estrategia de generación predeterminada de Mybatis-Plus, es decir ID_WORKER, . Se puede configurar según las necesidades reales.

おすすめ

転載: blog.csdn.net/IamBird/article/details/130466136