[Spring Boot] Plantilla de conexión de datos JdbcTemplate: introducción a JdbcTemplate

Empezando con JdbcTemplate

Esta sección comienza desde la parte básica para presentar qué es JDBC y qué es JdbcTemplate, y luego presenta cómo el proyecto Spring Boot usa JdbcTemplate para operar la base de datos.

1. Introducción a JdbcTemplate

1.1 ¿Qué es JDBC?

JDBC (Java Data Base Connectivity, Java Database Connection) es una API en el lenguaje Java que se utiliza para estandarizar cómo las aplicaciones acceden a las bases de datos. Proporciona métodos de acceso unificados para múltiples bases de datos relacionales, como métodos para consultar y actualizar datos en la base de datos. JDBC proporciona una base sobre la cual se pueden construir herramientas e interfaces más avanzadas, lo que permite a los desarrolladores de bases de datos escribir aplicaciones de bases de datos.

1.2 ¿Qué es JdbcTemplate?

Como especificación API para que Java acceda a bases de datos, JDBC unifica los métodos de acceso de varias bases de datos. Sin embargo, usar JDBC directamente en programas Java sigue siendo muy complicado y engorroso, por lo que Spring encapsula JDBC en un nivel más profundo y JdbcTemplate es proporcionado por Spring. Herramienta conveniente para trabajar con bases de datos. Implementa principalmente la gestión de conexiones de bases de datos. Podemos usar JdbcTemplate para realizar todas las operaciones de la base de datos, como consultas, inserciones, actualizaciones, eliminaciones, etc., y evita efectivamente la codificación engorrosa causada por el uso directo de JDBC.

Como maestro de Spring, Spring Boot integrará naturalmente JdbcTemplate. Spring Boot proporciona un iniciador correspondiente para el uso de JDBC: spring-boot-starter-jdbc, que en realidad es una encapsulación adicional de Spring JDBC para facilitar un mejor uso de JDBC en proyectos Spring Boot.

1.3 Características de JdbcTemplate

Es rápido En comparación con el marco ORM, el método JDBC es el más rápido.

La configuración es simple y Spring casi no encapsula ninguna configuración adicional excepto la conexión de la base de datos.

Fácil de usar, se parece más a la clase de herramienta DBUtils, simplemente inyecta el objeto JdbcTemplate.

1.4 Varios tipos de métodos de JdbcTemplate

Aunque JdbcTemplate es simple, es muy poderoso, proporciona métodos muy ricos y prácticos, en resumen, existen principalmente los siguientes tipos de métodos:

1) Método ejecutar (): se puede usar para ejecutar cualquier declaración SQL, generalmente se usa para ejecutar declaraciones DDL.

2) Métodos update(), batchUpdate(): se utilizan para ejecutar declaraciones como agregar, modificar y eliminar.

3) métodos query() y queryForXXX(): se utilizan para ejecutar declaraciones relacionadas con consultas.

4) método call(): se utiliza para ejecutar declaraciones relacionadas con funciones y procedimientos almacenados en la base de datos.

En general, los tres tipos de operaciones de agregar, eliminar y modificar se completan principalmente utilizando los métodos update() y batchUpdate(). Los métodos query() y queryForObject() se utilizan principalmente para completar la función de consulta. El método ejecutar() se puede utilizar para crear, modificar y eliminar tablas de bases de datos. El método call() se utiliza para llamar a procedimientos almacenados.

En la mayoría de los casos, utilizaremos un marco de persistencia más potente para acceder a la base de datos, como MyBatis, Hibernate o Spring Data JPA. La razón por la que presento un marco de base de datos básico como JdbcTemplate es solo para esperar que los lectores puedan comenzar a aprender desde lo básico. Solo dominando estos marcos básicos podremos aprender mejor otros complejos.

2.Spring Boot integra JdbcTemplate

Es muy sencillo integrar JDBC con Spring Boot, solo necesita introducir dependencias y realizar una configuración básica. A continuación, usaremos un ejemplo específico para aprender cómo usar JdbcTemplate de Spring para realizar operaciones de bases de datos.

Paso 01 Agregar configuración de dependencia.

Agregue JDBC y otras dependencias relacionadas en el archivo de configuración pom.xml:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

En el ejemplo anterior, la dependencia spring-boot-starterjdbc se introduce en el archivo pom.xml. Al mismo tiempo, dado que MySQL se utiliza como base de datos en el proyecto, es necesario introducir el paquete del controlador MySQL en el proyecto. spring-boot-starter-jdbc depende directamente de HikariCP y spring-jdbc.

  • HikariCP es el grupo de conexiones de bases de datos utilizado por Spring Boot 2.0 de forma predeterminada y también es el grupo de conexiones de bases de datos más rápido y legendario.
  • spring-jdbc es una encapsulación simple de JDBC mediante el marco Spring, que proporciona un conjunto de herramientas de desarrollo que simplifica las operaciones de JDBC.

Paso 02 Crear base de datos y estructura de tablas.

Primero cree la base de datos de prueba jdbctest y luego cree la tabla de estudiantes, incluidos campos como identificación, nombre, sexo, edad, etc. El script SQL correspondiente es el siguiente:

DROP TABLE IF EXISTS 'student';
CREATE TABLE 'student' (
			'id' bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
			'name' varchar(32) DEFAULT NULL COMMENT '姓名',
			'sex' int DEFAULT NULL,
			'age' int DEFAULT NULL,
			PRIMARY KEY ('id')
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;;

Paso 03 Configurar la fuente de datos.

Configure el contenido relacionado con la conexión de la base de datos MySQL en application.properties. La configuración específica es la siguiente:

spring.datasource.url=jdbc:mysql://Localhost:3306/jdbctest?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

En el ejemplo anterior, la configuración de la conexión de la base de datos es muy simple e incluye la dirección de conexión de la base de datos, el nombre de usuario, la contraseña y el controlador de datos, y no se requiere ninguna otra configuración adicional. En Spring Boot 2.0, com.mysql.jdbc.Driver ha caducado y se recomienda utilizar com.mysql.cj.jdbc.Driver.

Paso 04 Utilice JdbcTemplate.

JdbcTemplate se ha integrado en el proyecto Spring Boot y los datos se han creado anteriormente. A continuación, cree una clase de prueba unitaria JdbcTests para verificar que JdbcTemplate opere la base de datos. El código de muestra es el siguiente:

@RunWith(SpringRunner.class)
    @SpringBootTest
    class JdbcTests {
    
    
    @Autowired
    JdbcTemplate jdbcTemplate;
    @Test
    void querytest() throws SOLException {
    
    
        List<Map<String, Object>> list = jdbcTemplate.queryForList("select * from student");
        System.out.println(list.size());
        Assert.assertNotNull(list);
        Assert.assertEquals(1,list.size());
    }
}

Lo anterior es un ejemplo de prueba que simplemente usa JdbcTemplate. JdbcTemplate de Spring se configura automáticamente. Utilice @Autowired para inyectar JdbcTemplate en el Bean requerido y llámelo directamente.

La operación fue exitosa. JdbcTemplate se conectó a la base de datos y ejecutó exitosamente la operación de consulta de datos. Lo anterior integra JdbcTemplate en el proyecto Spring Boot.

Supongo que te gusta

Origin blog.csdn.net/weixin_45627039/article/details/132354902
Recomendado
Clasificación