SpringBoot が JdbcTemplate を統合する方法

王林
リリース: 2023-05-20 21:16:18
転載
1366 人が閲覧しました

    まえがき

    Spring のデータベース操作は jdbc 上でより深くカプセル化されており、JdbcTemplate はデータベースを操作するために Spring が提供する便利なツールです。 JdbcTemplate を使用すると、データベースへのデータの挿入、更新、削除、取得などのすべてのデータベース操作を実行でき、jdbc を直接使用することによって生じる面倒なコーディングを効果的に回避できます

    ##SpringBoot プロジェクトの初期化

    #Use IDEA はプロジェクトを作成します

    [ファイル]–>新規–>プロジェクトをクリックします

    SpringBoot が JdbcTemplate を統合する方法[springInitializr]をクリックし、SDK のバージョンに注意してから、次をクリック

    SpringBoot が JdbcTemplate を統合する方法独自のグループとアーティファクトを入力します。Java バージョンは以前の SDK バージョンと一致していることに注意してください。次へをクリック

    SpringBoot が JdbcTemplate を統合する方法 自分で選択してください 追加する依存関係は、プロジェクトの作成時に Maven に自動的に追加されます。

    次をクリックしてください


    SpringBoot が JdbcTemplate を統合する方法プロジェクトを入力してください名前を付けて「完了」をクリックします

    SpringBoot が JdbcTemplate を統合する方法JDBC 依存関係のインポート

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jdbc</artifactId>
            </dependency>
    ログイン後にコピー

    データベース ドライバーのインポート

    ここで使用する MySQL データベース。MySQL データベースをインポートするだけです。 driver

     <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.42</version>
            </dependency>
    ログイン後にコピー

    設定ファイルの変更

    ここでは yml 形式の設定ファイルを使用しています

    spring:
      datasource:
        url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8
        username: root
        password: admin
        driver-class-name: com.mysql.jdbc.Driver
    ログイン後にコピー

    データベース sys_user テーブルの構造

    SpringBoot が JdbcTemplate を統合する方法テスト クラス コード

    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);
    }
    ログイン後にコピー

    実行結果

    SpringBoot が JdbcTemplate を統合する方法データの一部をクエリする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);
        }
    }
    ログイン後にコピー

    実行結果

    SpringBoot が JdbcTemplate を統合する方法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表所有数据
            List<Map<String, Object>> list = jdbcTemplate.queryForList("select * from sys_user");
            log.info("list数据为:" + list);
        }
    }
    ログイン後にコピー

    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 + "条数据");
        }
    }
    ログイン後にコピー

    実行結果

    SpringBoot が JdbcTemplate を統合する方法

    SpringBoot が JdbcTemplate を統合する方法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 + "条数据");
        }
    }
    ログイン後にコピー

    実行結果

    SpringBoot が JdbcTemplate を統合する方法

    sys_user データ テーブルの削除SpringBoot が 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() {
            //删除一条数据
            int i3 = jdbcTemplate.update("delete from sys_user where id = ?", 1);
            log.info("删除了" + i3 + "条数据");
        }
    }
    ログイン後にコピー
    実行結果

    ##

    以上がSpringBoot が JdbcTemplate を統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    関連ラベル:
    ソース:yisu.com
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート