Prefacio
La mayoría de los proyectos ahora usan mybatis, pero algunas compañías usan Hibernate. La característica más importante de usar MyBatis es que SQL necesita ser escrita por sí misma, y escribir SQL requiere pasar múltiples parámetros. Enfrentarse a varios escenarios comerciales complejos, los parámetros de aprobación también es un tipo de conocimiento.
A continuación resumimos los siguientes métodos de transmisión de parámetros múltiples.
Método 1: Método de transferencia de parámetros secuenciales
Los números en #{} representan el orden en el que pasa los parámetros.
No se recomienda usar este método, la expresión de la capa SQL no es intuitiva y los errores son propensos a ocurrir una vez que se ajusta el orden.
Método 2: @param Annotación Método de parámetros de aprobación
El nombre en #{} corresponde al nombre modificado en los soportes de anotación @param.
Este método es bastante intuitivo cuando no hay muchos parámetros, por lo que se recomienda usarlo.
Método 3: Método de transferencia de parámetros de mapa
El nombre en #{} corresponde al nombre de clave en el mapa.
Este método es adecuado para pasar múltiples parámetros y los parámetros son volátiles y se pueden transmitir de manera flexible.
Método 4: Método de transferencia de parámetros de Java Bean
El nombre en #{} corresponde a los atributos del miembro en la clase de usuario.
Este método es muy intuitivo, pero requiere construir una clase de entidad. No es fácil de expandir. Requiere agregar atributos para usar de acuerdo con la situación.
Método de paso de parámetros Al usar la interfaz MAPPER
Cuando MyBatis usa la interfaz mapper para la programación, la capa subyacente usa un mecanismo de proxy dinámico, que se llama en la superficie, pero de hecho es a través del método correspondiente de sqlsession llamado por el proxy dinámico, como selectOne (). Los amigos interesados pueden verificar el método getMapper () de defaultSQLSSession, que eventualmente obtendrá un objeto mapperproxy que proxye la interfaz mapper. Cuando el objeto MapperProxy llama al método de la interfaz mapper, convertirá los parámetros pasados y luego usará los parámetros convertidos como el parámetro para llamar a los métodos de operación correspondientes correspondientes a SQLSession (como selectOne, inserto, etc.). El proceso de conversión se puede implementar con referencia al método Execute () de Mappermethod. En pocas palabras, las siguientes reglas:
1. Si el paso a paso es un parámetro único y no se nombra con la anotación @param, entonces el método correspondiente de SQLSession se llama directamente con el parámetro único como el parámetro real.
2. Si el pasado no es un solo parámetro o contiene parámetros nombrados con anotación @param, el parámetro correspondiente se convertirá en un mapa para pasar. Las reglas específicas son las siguientes:
2.1. Los parámetros correspondientes se almacenarán como claves en el mapa de destino en forma de Param1, Param2 y Paramn en orden. El primer parámetro es Param1 y el enésimo parámetro es Paramn.
2.2. Si el parámetro es un parámetro nombrado con anotación @param, se almacena en el mapa de destino con el nombre especificado por @param como clave.
2.3. Si los parámetros no llevan el nombre de la anotación @param, se almacenan como claves en el mapa de destino en forma de 0, 1 y N en orden. El primer parámetro es 0 y el enésimo parámetro es N.
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.