La Red de Conocimientos Pedagógicos - Currículum vitae - Spring Boot (12): múltiples fuentes de datos y paginación para MyBatis-Plus

Spring Boot (12): múltiples fuentes de datos y paginación para MyBatis-Plus

El mismo proyecto a veces involucra múltiples bases de datos, en cuyo caso necesitamos configurar múltiples fuentes de datos. Hay dos situaciones comunes para configurar múltiples fuentes de datos:

1) Dos o más bases de datos comerciales están involucradas en el mismo proyecto y son independientes entre sí. Esta situación también se puede utilizar como dos o más. bases de datos empresariales. Desarrollar un proyecto

2) Existe una relación maestro-esclavo entre dos o más bases de datos. La base de datos maestra se encarga de escribir y la base de datos esclava se encarga de leer.

1. Configuración de pom.xml

Agregar dependencia de fuente de datos múltiples MyBatis-Plus en pom.xml:

2. Configuración del archivo de configuración

Configurar lo que necesitamos para conectarse en el archivo de configuración application.yml Base de datos: blog y usuario, el valor predeterminado es blog

3. Configuración de clase de inicio

Agregue exclusión = DruidDataSourceAutoConfigure.class configuración a @SpringBootApplication anotación:

Esta configuración La función es eliminar la configuración automática de DruidDataSourceAutoConfigure; de ​​lo contrario, el programa informará un error:

Motivo:

DruidDataSourceAutoConfigure inyectará un DataSourceWrapper antes de DynamicDataSourceAutoConfiguration, que estará bajo el spring.datasource nativo Encuentre la URL, el nombre de usuario, la contraseña, etc., y la ruta de configuración de nuestra fuente de datos dinámica cambia.

4. Configuración de clase de entidad y capa dao

Cree carpetas de blog y de usuario en la carpeta po para almacenar entidades en la base de datos del blog y la base de datos de usuario respectivamente:

Anotaciones:

@TableName: Anotación de nombre de tabla, identifica la tabla correspondiente a la clase de entidad

@TableId: Anotación de clave primaria, cuando tipo = IdType.AUTO, indica que la clave primaria es Clave principal de incremento automático

Cree carpetas de blog y de usuario en la carpeta dao para almacenar el blog y el dao del usuario respectivamente:

Anotación:

@Repository: Identificar la clase de la capa de acceso a datos (capa DAO) como Spring Bean

@DS: configure la fuente de datos no predeterminada. En este ejemplo, el blog es la fuente de datos predeterminada y el usuario son los datos no predeterminados. fuente Al usar @ Al realizar anotaciones DS, existen las siguientes precauciones:

1) Las transacciones no se pueden utilizar; de lo contrario, la fuente de datos no se cambiará y la fuente de datos cargada por primera vez seguirá existiendo. ser utilizado

2) Primero, después de cargar la fuente de datos por primera vez, la segunda vez, la tercera vez... opere otras fuentes de datos. Si la fuente de datos no existe, la fuente de datos cargada. la primera vez todavía se usa

3) El nombre de la fuente de datos no contiene subrayado, de lo contrario no se puede cambiar

5. Verificación de prueba

Escriba ArticleController y UserInfoController:

Nota: Cuando la lógica de negocios es compleja, habrá una capa de Servicio entre el Controlador y el Mapeador. Para manejar la lógica de negocios, ahora simplemente probaremos múltiples fuentes de datos, por lo que usaremos directamente el Controlador. para llamar al Mapper

1. Configurar el complemento de paginación

2. Método de paginación

1) Usar el método selectPage de MyBatis-Plus

Utilice el método selectPage de MyBatis-Plus para devolver IPage, ejemplo:

2) Paginación SQL

A veces, algunas paginaciones deben asociarse con varias tablas, y es No es conveniente usar LambdaQueryWrapper. En este momento, puede escribir SQL usted mismo para implementar la paginación. Hay dos tipos principales: SQL puro para implementar la paginación usted mismo y usar IPage para implementar la paginación.

Nota: El ejemplo de SQL. Aquí se utiliza una consulta de una sola tabla. Específicamente, se pueden utilizar varias consultas de tabla según el escenario empresarial.

A. Implemente la paginación usted mismo utilizando SQL puro

Lista de datos paginados y elementos totales Varios. llamadas separadas al método return:

B. Usar IPage para implementar la paginación (comúnmente usado)

Devolver IPage Para conocer la estructura de datos del valor de retorno, consulte "1) Usar el método. método selectPage de MyBatis-Plus"

Este artículo presenta brevemente las múltiples fuentes de datos y la paginación de MyBatis-Plus. Para obtener el código de muestra de este artículo, consulte /tunan222/spring-boot-demo

Si crees que está bien, por favor ayuda Haz clic en "Me gusta", gracias