Spring のデータベース操作は jdbc 上でより深くカプセル化されており、JdbcTemplate はデータベースを操作するために Spring が提供する便利なツールです。 JdbcTemplate を使用すると、データベースへのデータの挿入、更新、削除、取得などのすべてのデータベース操作を実行でき、jdbc を直接使用することによって生じる面倒なコーディングを効果的に回避できます
##SpringBoot プロジェクトの初期化[springInitializr]をクリックし、SDK のバージョンに注意してから、次をクリック
独自のグループとアーティファクトを入力します。Java バージョンは以前の SDK バージョンと一致していることに注意してください。次へをクリック
自分で選択してください 追加する依存関係は、プロジェクトの作成時に Maven に自動的に追加されます。
次をクリックしてくださいプロジェクトを入力してください名前を付けて「完了」をクリックします
JDBC 依存関係のインポート
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency>
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.42</version> </dependency>
設定ファイルの変更
spring: datasource: url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8 username: root password: admin driver-class-name: com.mysql.jdbc.Driver
データベース 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); }
データの一部をクエリする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); } }
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); } }
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 + "条数据"); } }
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 + "条数据"); } }
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 + "条数据"); } }実行結果
##
以上がSpringBoot が JdbcTemplate を統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。