Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 13726|Resposta: 0

[Fonte] as notas do mybatis são anotadas usando a interface Mapper

[Copiar link]
Publicado em 16/01/2019 13:00:53 | | | |
1. Métodos de mapeamento suportados pelo mybatis

Os métodos de mapeamento suportados pelo mybatis incluem arquivos mapper.xml baseados em XML e classes de interface mapper baseadas em Java.
Existem quatro principais anotações de métodos de interface: @Insert, @Delete, @Update e @Select

2. Como mapear usando anotações de interface

Os seguintes experimentos são todos baseados em tabelas t_user e estruturados da seguinte forma:

2.1 Aumento @Insert

Basicamente, existem três esquemas para isso: designação manual (camada de aplicação), chave primária auto-adicionável (tabela única da camada de dados) e chave primária de seleção (tabela múltipla da camada de dados).

1. Especificar manualmente a chave primária na camada de aplicação

O método manual não trata a chave primária de forma diferente e dará um valor à chave primária quando a camada de aplicação gera o objeto antes da inserção, o que não é diferente do campo normal quando inserido.

No exemplo acima, mybatis não sabe qual campo é a chave primária e id é o campo da chave primária, mas não é tratado de forma diferente.

Note que o método #{username} é usar User como contexto atual, para que, ao acessar os atributos de User, você possa escrever diretamente o nome do atributo.

2. A tabela adiciona a chave primária

A chave primária auto-incrementante corresponde ao preenchimento da chave primária na configuração XML, um exemplo simples:

Use Option para corresponder às propriedades do conjunto de tags select em XML, userGeneratordKeys para indicar que você deseja usar uma chave primária auto-incrementante, e keyProperty para especificar o nome do campo da chave primária.

A chave primária auto-incrementante utiliza as características auto-incrementantes do banco de dados subjacente.

3. Selecione a tonalidade primária

Selecione a chave primária para gerar um valor a partir da camada de dados e use esse valor como valor da chave primária.


2.2 Exclua @Delete

Ao deletar, basta escrever a condição no valor da anotação @Delete e devolver um tipo int como o número de registros que foram deletados com sucesso.


2.3 Mudança @Update

Ao modificar, basta escrever a instrução SQL no valor da @Update e devolver um tipo int para indicar o número de linhas de registro modificadas.


2.4 Verificar @Select

A consulta é um pouco mais complicada, porque a consulta envolve como definir os campos encontrados para o objeto, e geralmente existem três maneiras:

1. Especificar manualmente um alias na instrução SQL para corresponder

Ao escrever instruções SQL, atribua manualmente um alias a cada campo para corresponder aos atributos do objeto, o que é adequado para situações onde o nome do campo da tabela e o nome do atributo do objeto são muito diferentes e não há muitos campos da tabela.


2. Usar a transformação automática de sublinhado do mybatis

mybatis tem uma opção chamada mapUnderscoreToCamelCase que se aplica quando o nome do campo na tabela é igual ao nome do atributo do objeto, mas com a diferença entre sublinhado e escrita de hump.

Após configurar mapUnderscoreToCamelCase, mybatis tentará converter o sublinhado em uma hump ao definir os dados encontrados no ResultSet para o objeto, e então costura o conjunto na frente para definir os atributos.

Ligue a conversão:




Então faça a consulta:

Olhando para o resultado impresso, birth_day atributos são preenchidos no objeto:



3. Use o ResultMap

Se o nome do campo da tabela e o nome do atributo do objeto não forem muito parecidos, e houver muitos campos na tabela, o ResultMap deve ser usado para adaptação.


@Results corresponde ao ResultMap em XML, e você pode especificar um id para ele, que pode ser usado para referenciar em outros lugares, como referenciar os Resultados acima:

Use @ResultMap para referenciar um ResultMap existente, que pode ser definido em Java usando anotações @Results ou em XML usando tags resultMap.

2.5 Código de exemplo

User.java


UserMapper.java

3. Resumo

Vantagens de usar anotações de interface:

1. É mais conveniente e rápido escrever instruções de mapeamento

Desvantagens de usar anotações de interface:

1. É adequado para configurações relativamente simples, e a interface não pode ser feita quando é muito complicada.

2. Não conseguir usar SQL dinâmico, é meio de mau gosto.






Anterior:Demon Spirit Summon V4.1.8 é usado de forma discreta
Próximo:Kirin Article Detection Tool v2.0 (remover informações de contato do autor)
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com