Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 13726|Respuesta: 0

[Fuente] las notas de mybatis se anotan usando la interfaz Mapper

[Copiar enlace]
Publicado en 16/1/2019 13:00:53 | | | |
1. Métodos de mapeo soportados por mybatis

Los métodos de mapeo soportados por mybatis incluyen archivos mapper.xml basados en XML y clases de interfaz mapper basadas en Java.
Hay cuatro anotaciones principales de métodos de interfaz: @Insert, @Delete, @Update y @Select

2. Cómo mapear usando anotaciones de interfaz

Los siguientes experimentos se basan todos en tablas t_user y están estructurados de la siguiente manera:

2.1 Aumento @Insert

Básicamente hay tres esquemas para esto, a saber: designación manual (capa de aplicación), clave primaria auto-añadida (tabla única de capa de datos) y clave primaria de selección (tabla múltiple de capa de datos).

1. Especificar manualmente la clave primaria en la capa de aplicación

El método manual no trata la clave primaria de forma diferente y le da un valor a la clave primaria cuando la capa de aplicación genera el objeto antes de la inserción, lo cual no difiere del campo normal al insertarse.

En el ejemplo anterior, mybatis no sabe cuál campo es la clave primaria e id es el campo de clave primaria, pero no se trata de forma diferente.

Ten en cuenta que el método #{username} es usar User como contexto actual, de modo que al acceder a los atributos de User, puedes escribir directamente el nombre del atributo.

2. La tabla añade la clave primaria

La clave primaria autoincrementante corresponde al relleno de la clave primaria en la configuración XML, un ejemplo sencillo:

Usa Option para corresponder a las propiedades del set de etiquetas select en XML, userGeneratordKeys para indicar que quieres usar una clave primaria auto-incrementante, y keyProperty para especificar el nombre del campo de la clave primaria.

La clave primaria autoincrementante utiliza las características autoincrementantes de la base de datos subyacente.

3. Seleccionar la clave primaria

Selecciona la clave primaria para generar un valor de la capa de datos y usa este valor como valor de la clave primaria.


2.2 Eliminar @Delete

Al eliminar, simplemente escribe la condición en el valor de la anotación @Delete y devuelve un tipo int como el número de registros que han sido eliminados con éxito.


2.3 Cambio @Update

Al modificar, simplemente escribe la sentencia SQL en el valor del @Update y devuelves un tipo int para indicar el número de líneas de registro modificadas.


2.4 Comprobar @Select

Consultar es un poco más complicado, porque la consulta implica cómo establecer los campos encontrados en el objeto, y normalmente hay tres formas:

1. Especificar manualmente un alias en la instrucción SQL para que coincida

Al escribir sentencias SQL, asigna manualmente un alias a cada campo para que coincida con los atributos del objeto, lo cual es adecuado para situaciones donde el nombre del campo de la tabla y el nombre del atributo del objeto son muy diferentes y no hay muchos campos de tabla.


2. Utilizar la transformación automática de joroba subrayada de mybatis

mybatis tiene una opción llamada mapUnderscoreToCamelCase que se aplica cuando el nombre del campo en la tabla es el mismo que el nombre del atributo del objeto, pero la diferencia entre la escritura de guion bajo y la de joroba.

Después de configurar mapUnderscoreToCamelCase, mybatis intentará convertir el guion bajo en un hush al configurar los datos encontrados en el ResultSet al objeto, y luego unirá el conjunto delante para establecer los atributos.

Activa la conversión:




Luego consulta:

Al observar el resultado impreso, birth_day atributos se llenan en el objeto:



3. Usar ResultMap

Si el nombre de campo de la tabla y el nombre del atributo del objeto no son muy parecidos, y hay muchos campos en la tabla, se debe usar ResultMap para la adaptación.


@Results corresponde al ResultMap en XML, y puedes especificar un id para él, que puede usarse para referenciarlo en otro lugar, como para referenciar los resultados anteriores:

Utiliza @ResultMap para referenciar un ResultMap existente, que puede definirse en Java usando anotaciones @Results o en XML usando etiquetas resultMap.

2.5 Código de ejemplo

User.java


UserMapper.java

3. Resumen

Ventajas de usar anotaciones de interfaz:

1. Es más cómodo y rápido escribir sentencias de mapeo

Desventajas de usar anotaciones de interfaz:

1. Es adecuado para configuraciones relativamente simples, y la interfaz no puede hacerse cuando es demasiado complicada.

2. No poder usar SQL dinámico, es un poco de mal gusto.






Anterior:La Invocación de Espíritus Demoníacos V4.1.8 se usa de forma discreta
Próximo:Herramienta de detección de originalidad de artículos de Kirin v2.0 (eliminar información de contacto del autor)
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com