Control de programación DML de MyBatisPlus

Insertar descripción de la imagen aquí

1. Control de política de generación de ID (Insertar)

¿Cuáles son las estrategias para la generación de claves primarias?

Diferentes tablas aplican diferentes estrategias de generación de identificación.

  • Registro: incremento automático (1,2,3,4,…)
  • Órdenes de Compra: Reglas Especiales (FQ23948AK3843)
  • Pedido para llevar: zona relacionada fecha y otra información (10 04 20200314 34 91)
  • Tabla relacional: la identificación se puede omitir
  • ……

1.1 Control de política de generación de ID (@anotación TableId)

  • Nombre: @TableId

  • Tipo: Anotación de atributos

  • Ubicación: encima de la definición de la propiedad utilizada para representar la clave principal en la clase de modelo

  • Rol: establecer la estrategia de generación del atributo de clave principal en la clase actual

  • atributos relacionados

    tipo : establece la estrategia de generación del atributo de clave principal, el valor se refiere al valor de enumeración IdType

Insertar descripción de la imagen aquí

1.2 Configuración de políticas globales

mybatis-plus:
  global-config:
    db-config:
      id-type: assign_id
      table-prefix: tbl_
Configuración global de la estrategia de generación de ID

Insertar descripción de la imagen aquí

Configuración global del prefijo del nombre de la tabla

Insertar descripción de la imagen aquí

2. Operación de registros múltiples (eliminar/seleccionar por lotes)

2.1 Eliminar varios registros según la clave principal

//删除指定多条数据
List<Long> list = new ArrayList<>();
list.add(1402551342481838081L);
list.add(1402553134049501186L);
list.add(1402553619611430913L);

userDao.deleteBatchIds(list);

2.2 Consultar varios registros según la clave principal

//查询指定多条数据
List<Long> list = new ArrayList<>();
list.add(1L);
list.add(3L);
list.add(4L);
userDao.selectBatchIds(list);

3. Eliminación lógica (Eliminar/Actualizar)

En el entorno real, si desea eliminar un dato, ¿realmente lo eliminará de la base de datos?

  • Eliminar problema comercial de operación: los datos comerciales se descartan de la base de datos

  • Eliminación lógica: establezca si el campo de estado está disponible para los datos, configure el campo de estado como no disponible al eliminar y los datos permanecen en la base de datos

Insertar descripción de la imagen aquí

3.1 Caso de eliminación lógica

3.1.1 Agregar un campo de desecho en la tabla de la base de datos

Insertar descripción de la imagen aquí

3.1.2 Agregue el campo correspondiente en la clase de entidad y establezca el campo actual como el campo de marca de eliminación lógica
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

@Data
public class User {
    
    

    private Long id;
    
    //逻辑删除字段,标记当前记录是否被删除
    @TableLogic
    private Integer deleted;
    
}
3.1.3 Configurar literales de desecho
mybatis-plus:
  global-config:
    db-config:
      table-prefix: tbl_
      # 逻辑删除字段名
      logic-delete-field: deleted
      # 逻辑删除字面值:未删除为0
      logic-not-delete-value: 0
      # 逻辑删除字面值:删除为1
      logic-delete-value: 1

La esencia de la eliminación lógica: la esencia de la eliminación lógica es en realidad una operación de modificación. Si se agrega un campo de desecho, el campo de desecho se agregará automáticamente al consultar datos.

Ejecute la declaración SQL:
update tbl_user set deleted=1 where id = ? and deleted = 0

Supongo que te gusta

Origin blog.csdn.net/qq_51808107/article/details/131915268
Recomendado
Clasificación