¡Continúe creando, acelere el crecimiento! Este es el día 12 de mi participación en el "Nuggets Daily New Plan · June Update Challenge", haz clic para ver los detalles del evento
antecedentes
- Registre los módulos de función de mybatis3 para ayudar a comprender cómo funciona mybatis.
proceso
- Visualización del módulo fuente
- anotaciones
Anotaciones, como @Select, @Insert, @Update, @Delete y muchas otras. El uso es utilizar el conocimiento de la reflexión para obtener la metainformación de la clase y luego analizarla paso a paso de acuerdo con las reglas definidas. 2. El enlace (un módulo muy importante) genera una clase de proxy de mapeador correspondiente para la interfaz del mapeador y se puede obtener a través de statementId.Cada archivo de mapeador tiene una clase de proxy de mapeador correspondiente. MapperProxyFactory produce el MapperProxy correspondiente al archivo de interfaz de Mapper y lo coloca en MapperRegistry como parte de la información de configuración, para que pueda obtenerse del contenedor a través de statementId. mapper.xml archivo Entre ellos, en MapperMethod El método de ejecución es muy básico, todas las entradas de nivel superior para ejecutar SQL. 3. El constructor
genera el contenido del archivo xml. Lea los nodos en el archivo xml uno por uno y constrúyalos en beans java, que son convenientes para obtener directamente a través del método get. 4. Caché de caché, el caché de mybatis se almacena en el contenedor del mapa, este módulo proporciona el proceso de cálculo de la clave de caché. 5. cursor cursor, puntero. Una forma de consultar una base de datos relacional. 6. fuente de datos, fuente de base de datos, fuente de datos agrupados y fuente de datos no agrupados. Solo contiene información básica, como nombre de usuario, contraseña, URL, controlador, etc. 7. exeception, la clase de manejo de excepciones de mybatis. 8. ejecutor, ejecutor de sql de funciones muy básicas .
La declaración que interactúa con la base de datos, ejecuta la preparación de parámetros antes y ejecuta el procesamiento del conjunto de resultados después. 9. io, módulo de funciones de recursos, lectura de archivos 10. jdbc, base de datos de operación básica, utilizada para realizar pruebas; de hecho, otro código fuente principal no utiliza las clases de este paquete.
11. registro, módulo de registro 12. mapeo , módulo muy básico
MappedStatement es una clase muy importante. Contiene mucha información de metadatos. La interfaz del mapeador y el archivo mapper.xml generarán una instancia de MappedStatement 13. parsing, XPathParser, XNode, que proporciona la clase básica para analizar archivos de configuración xml. 14. complemento, amplía la función de mybatis. Por ejemplo, la consulta de paginación utiliza el principio de funcionamiento del complemento mybatis. 15. reflexión, enriquece la función de reflexión sobre la base de jdk 16. secuencias de comandos, procesará etiquetas en archivos xml y sql
17. sesión, paquete de función principal.
SqlSessionFactoryBuilder crea una SqlSessionFactory y luego crea una instancia de SqlSession a partir de la instancia de SqlSessionFactory. Finalmente, la instancia de sqlSession interactúa con la base de datos relacional. 18. transacción , gestión de transacciones de bases de datos relacionales. El proceso de uso general se entrega a Spring para la gestión de transacciones.
operación de transacción. enviar. Retroceder. 19. Cuando el tipo
interactúa con la base de datos relacional, ¿cómo convierte la configuración del parámetro el tipo java al tipo jdbc?Cuando el conjunto de resultados de la base de datos relacional se obtiene después de ejecutar SQL, cómo convertir el tipo jdbc al tipo java
resumen
-
Después de leer el código fuente de mybatis y comprender su proyecto de trabajo, profundice su familiaridad y comprensión de mybaits mediante la grabación.
-
A través de los módulos de función registrados anteriormente, el proceso de trabajo de mybatis se puede conectar en serie.
-
Ser capaz de comprender el proceso de trabajo, si hay un problema, ser capaz de comprender en qué enlace específico ocurre el problema y ayudar a resolver el problema rápidamente.