Controle de programação DML do MyBatisPlus

Insira a descrição da imagem aqui

1. Controle de política de geração de ID (Inserir)

Quais são as estratégias para geração de chave primária?

Tabelas diferentes aplicam diferentes estratégias de geração de ID

  • registro: incremento(1,2,3,4,...)
  • Pedidos de compras: regras especiais (FQ23948AK3843)
  • Pedido de takeaway: data da área associada e outras informações (10 04 20200314 34 91)
  • Tabela relacional: id pode ser omitido
  • ……

1.1 Controle de política de geração de ID (@TableId anotação)

  • Nome: @TableId

  • Tipo: Anotação de Atributo

  • Posição: acima da definição do atributo usada para representar a chave primária na classe do modelo

  • Função: Definir a estratégia de geração do atributo chave primária na classe atual

  • atributos relacionados

    ​type : Defina a estratégia de geração do atributo de chave primária, o valor refere-se ao valor de enumeração IdType

Insira a descrição da imagem aqui

1.2 Configuração de política global

mybatis-plus:
  global-config:
    db-config:
      id-type: assign_id
      table-prefix: tbl_
Configuração global da estratégia de geração de ID

Insira a descrição da imagem aqui

Configuração global do prefixo do nome da tabela

Insira a descrição da imagem aqui

2. Operação de vários registros (excluir/selecionar lote)

2.1 Excluir vários registros de acordo com a chave primária

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

userDao.deleteBatchIds(list);

2.2 Consultar vários registros com base na chave primária

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

3. Exclusão lógica (Excluir/Atualizar)

Em um ambiente real, se você quiser excluir um dado, esse dado será realmente excluído do banco de dados?

  • Excluir problema de negócios da operação: os dados de negócios são eliminados do banco de dados

  • Exclusão lógica: Defina o campo de status de disponibilidade dos dados. Ao excluir, defina o campo de status para o status indisponível e os dados permanecerão no banco de dados.

Insira a descrição da imagem aqui

3.1 Caso de exclusão lógica

3.1.1 Adicionar campo de marca de exclusão lógica à tabela do banco de dados

Insira a descrição da imagem aqui

3.1.2 Adicione campos correspondentes à classe de entidade e defina o campo atual como um campo de marca de exclusão lógica
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

@Data
public class User {
    
    

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

A essência da exclusão lógica: A essência da exclusão lógica é, na verdade, uma operação de modificação. Se um campo de marca para exclusão for adicionado, o campo de marca para exclusão também será incluído automaticamente ao consultar os dados.

Execute a instrução SQL:
update tbl_user set deleted=1 where id = ? and deleted = 0

Acho que você gosta

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