Integrar Spanner con MyBatis y Spring Boot (GoogleSQL)

MyBatis es un framework de persistencia que admite SQL personalizado y asignaciones avanzadas. MyBatis elimina la mayor parte del código JDBC y la configuración manual de los parámetros y la recuperación de los resultados en tu aplicación.

Configurar MyBatis para bases de datos con dialecto GoogleSQL de Spanner

Puedes integrar bases de datos con dialecto GoogleSQL de Spanner con MyBatis y Spring Boot mediante el controlador JDBC de Spanner.

Dependencias

En tu proyecto, añade las dependencias de Apache Maven para MyBatis, Spring Boot y el controlador JDBC de Spanner.

<dependencies>
  <!-- MyBatis and Spring Boot -->
  <dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
  </dependency>
  <dependency>
    <groupId>org.mybatis.dynamic-sql</groupId>
    <artifactId>mybatis-dynamic-sql</artifactId>
  </dependency>

  <!-- Spanner JDBC driver -->
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-spanner-jdbc</artifactId>
  </dependency>
<dependencies>

Configuración de la fuente de datos

Configura application.properties para que use el controlador JDBC de Spanner y se conecte a una base de datos de Spanner con dialecto GoogleSQL.

spanner.project=my-project
spanner.instance=my-instance
spanner.database=mybatis-sample

spring.datasource.driver-class-name=com.google.cloud.spanner.jdbc.JdbcDriver
spring.datasource.url=jdbc:cloudspanner:/projects/${spanner.project}/instances/${spanner.instance}/databases/${spanner.database}

Aplicación de muestra completa

Para probar esta integración con una aplicación de ejemplo, consulta Aplicación de ejemplo de Spring Data MyBatis con Spanner GoogleSQL.

Siguientes pasos