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

Comment SpringBoot intègre JdbcTemplate

王林
Libérer: 2023-05-20 21:16:18
avant
1419 Les gens l'ont consulté

    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>
    Copier après la connexion

    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>
    Copier après la connexion

    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
    Copier après la connexion

    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);
    }
    Copier après la connexion

    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);
        }
    }
    Copier après la connexion

    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);
        }
    }
    Copier après la connexion

    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 + "条数据");
        }
    }
    Copier après la connexion

    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 + "条数据");
        }
    }
    Copier après la connexion

    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 + "条数据");
        }
    }
    Copier après la connexion

    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!

    Étiquettes associées:
    source:yisu.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal