Análisis de módulos de funciones en el código fuente de Mybatis

¡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

inserte la descripción de la imagen aquí

  1. 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 inserte la descripción de la imagen aquí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 inserte la descripción de la imagen aquí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 . inserte la descripción de la imagen aquí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.inserte la descripción de la imagen aquí11. registro, módulo de registro 12. mapeo , módulo muy básico inserte la descripción de la imagen aquí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 inserte la descripción de la imagen aquí17. sesión, paquete de función principal. inserte la descripción de la imagen aquí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. inserte la descripción de la imagen aquíoperación de transacción. enviar. Retroceder. 19. Cuando el tipo inserte la descripción de la imagen aquí 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

  1. 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.

  2. A través de los módulos de función registrados anteriormente, el proceso de trabajo de mybatis se puede conectar en serie.

  3. 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.

Supongo que te gusta

Origin juejin.im/post/7105547865618907143
Recomendado
Clasificación