Maison  >  Article  >  Java  >  Comment SpringBoot intègre JdbcTemplate

Comment SpringBoot intègre JdbcTemplate

王林
王林avant
2023-05-20 21:16:181359parcourir

    Avant-propos

    Les opérations de base de données de Spring sont encapsulées dans jdbc à un niveau plus profond, et JdbcTemplate est un outil pratique fourni par Spring pour faire fonctionner la base de données. Nous pouvons utiliser JdbcTemplate pour effectuer toutes les opérations de base de données, telles que l'insertion, la mise à jour, la suppression et la récupération de données de la base de données, et éviter efficacement le codage fastidieux causé par l'utilisation directe de jdbc

    Initialisez le projet SpringBoot

    Utilisez IDEA pour créer le projet

    Cliquez sur Fichier > Nouveau suivant

    Comment SpringBoot intègre JdbcTemplate

    Sélectionnez les dépendances que vous souhaitez ajouter, elles seront automatiquement ajoutées à maven lors de la création du projet, puis

    cliquez sur suivant

    Comment SpringBoot intègre JdbcTemplate

    renseignez le nom de votre projet, cliquez sur terminer

    Comment SpringBoot intègre JdbcTemplate


    pour importer les dépendances JDBC

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jdbc</artifactId>
            </dependency>

    Importer le pilote de base de donnéesComment SpringBoot intègre JdbcTemplate

    La base de données MySQL que j'utilise ici, importez simplement le pilote de base de données MySQL

     <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.42</version>
            </dependency>

    Modifier le fichier de configuration

    Comment SpringBoot intègre JdbcTemplateJ'utilise le fichier de configuration au format yml ici

    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8
        username: root
        password: admin
        driver-class-name: com.mysql.jdbc.Driver

    Structure de la table sys_user de la base de données

    Code de classe de test

    Interroger la quantité de données dans la table sys_user

    package com.gavin.boot;
    
    import lombok.extern.slf4j.Slf4j;
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.jdbc.core.JdbcTemplate;
    import java.util.List;
    import java.util.Map;
    
    @Slf4j
    @SpringBootTest
    class BootJdbcApplicationTests {
    
        @Autowired
        JdbcTemplate jdbcTemplate;
    
        @Test
        void contextLoads() {
            //获取sys_user表数据量
            Long aLong = jdbcTemplate.queryForObject("select count(*) from sys_user", Long.class);
            log.info("记录总数:{}", aLong);
    }

    Résultats d'exécution

    Comment SpringBoot intègre JdbcTemplate

    Interroger une donnée dans la table sys_user

    package com.gavin.boot;
    
    import lombok.extern.slf4j.Slf4j;
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.jdbc.core.JdbcTemplate;
    import java.util.List;
    import java.util.Map;
    
    @Slf4j
    @SpringBootTest
    class BootJdbcApplicationTests {
    
        @Autowired
        JdbcTemplate jdbcTemplate;
    
        @Test
        void contextLoads() {
            //获取sys_user表一条数据
            Map<String, Object> map = jdbcTemplate.queryForMap("select * from sys_user where id = 1");
            log.info("map数据为:" +  map);
        }
    }

    Résultats d'exécution

    Interroger toutes les données de la table sys_userComment SpringBoot intègre JdbcTemplate

    package com.gavin.boot;
    
    import lombok.extern.slf4j.Slf4j;
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.jdbc.core.JdbcTemplate;
    import java.util.List;
    import java.util.Map;
    
    @Slf4j
    @SpringBootTest
    class BootJdbcApplicationTests {
    
        @Autowired
        JdbcTemplate jdbcTemplate;
    
        @Test
        void contextLoads() {
        	//获取sys_user表所有数据
            List<Map<String, Object>> list = jdbcTemplate.queryForList("select * from sys_user");
            log.info("list数据为:" + list);
        }
    }

    Ajouter une nouvelle donnée dans la table sys_user

    package com.gavin.boot;
    
    import lombok.extern.slf4j.Slf4j;
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.jdbc.core.JdbcTemplate;
    import java.util.List;
    import java.util.Map;
    
    @Slf4j
    @SpringBootTest
    class BootJdbcApplicationTests {
    
        @Autowired
        JdbcTemplate jdbcTemplate;
    
        @Test
        void contextLoads() {
            //新增一条数据
            int i = jdbcTemplate.update("insert into sys_user(user_name, phone) values(?,?)", new String[]{"小王", "13100720084"});
            log.info("新增了" + i + "条数据");
        }
    }

    Résultats d'exécution

    Comment SpringBoot intègre JdbcTemplate

    Modifier une donnée dans la table sys_user

    package com.gavin.boot;
    
    import lombok.extern.slf4j.Slf4j;
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.jdbc.core.JdbcTemplate;
    import java.util.List;
    import java.util.Map;
    
    @Slf4j
    @SpringBootTest
    class BootJdbcApplicationTests {
    
        @Autowired
        JdbcTemplate jdbcTemplate;
    
        @Test
        void contextLoads() {
            //修改一条数据
            int i2 = jdbcTemplate.update("update sys_user set user_name = ? where id = 1", new String[]{"小张"});
            log.info("修改了" + i2 + "条数据");
        }
    }

    Résultats d'exécution

    Comment SpringBoot intègre JdbcTemplate

    Comment SpringBoot intègre JdbcTemplate

    Supprimer une donnée dans la table sys_user

    package com.gavin.boot;
    
    import lombok.extern.slf4j.Slf4j;
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.jdbc.core.JdbcTemplate;
    import java.util.List;
    import java.util.Map;
    
    @Slf4j
    @SpringBootTest
    class BootJdbcApplicationTests {
    
        @Autowired
        JdbcTemplate jdbcTemplate;
    
        @Test
        void contextLoads() {
            //删除一条数据
            int i3 = jdbcTemplate.update("delete from sys_user where id = ?", 1);
            log.info("删除了" + i3 + "条数据");
        }
    }

    Résultats d'exécution

    Comment SpringBoot intègre JdbcTemplate

    Comment SpringBoot intègre JdbcTemplate

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer