Spring Boot JDBC アクセス データベース

データ アクセス レイヤーについては、SQL (リレーショナル データベース) であろうと NOSQL (非リレーショナル データベース) であろうと、Spring Boot はデフォルトで統合処理のために Spring Data を統合する方法を採用し、大規模なプロセスを通じてデータ アクセス レイヤーの操作を簡素化します。自動構成の数、ブック層へのアクセスを実現するための簡単な設定を行うだけで済みます。このセクションでは、Spring Boot でのデータ アクセスに JDBC を使用する方法を学習します。
JDBC シナリオ スターター
Spring Boot をインポートして、日々のエンタープライズ アプリケーション開発におけるさまざまなシナリオを抽出し、各シナリオ スターター (スターター) を作成します. シナリオ スターターは、このシナリオで使用される可能性のあるさまざまな依存関係を統合します. さまざまな依存関係を処理する煩わしさからユーザーを解放します.と構成。

Spring Boot でのデータ アクセスに JDBC を使用する場合、最初のステップは pom.xml で JDBC シーン スターターをインポートすることです: spring-boot-starter-data-jdbc、コードは次のとおりです。

org.springframework.boot spring-boot-starter-data-jdbc

spring-boot-starter-data-jdbc の依存関係ツリーを見ると、下図に示すように、シナリオ スターターがデフォルトでデータ ソース HikariCP を導入していることがわかります。
ここに画像の説明を挿入
データベース ドライバーのインポート
JDBC シーン ランチャーはデータベース ドライバーをインポートしません。必要に応じて必要なデータベース ドライバーをインポートする必要があります。たとえば、MySQL データベースにアクセスする場合、MySQL データベース ドライバー mysql-connector-java をインポートする必要があります。サンプル コードは次のとおりです。

mysql mysql-connector-java ランタイム Spring Boot はデフォルトでデータベース ドライバーのバージョン アービトレーションを行うため、データベース ドライバーをインポートするときにバージョンを宣言できなくなりました。データベース ドライバのバージョンは、データベースのバージョンに対応している必要があることに注意してください。

データ ソースの構成
JDBC シーン イネーブラーとデータベース ドライバーをインポートしたら、構成ファイル (application.properties/yml) でデータ ソースを構成できます。サンプル コード (application.yml) は次のとおりです。
#データソース接続情報
spring:
datasource:
username: root
password: root
url: jdbc:mysql://127.0.0.1:3306/bianchengbang_jdbc
driver-class-name: com.mysql.cj.jdbc.Driver

注: ここだけ理解しておいて、次のセクションでは、Spring Boot のデータ ソース構成とその原則について詳しく説明します。

Spring Bootをテストすると、
JDBC のラッパーである JdbcTemplate と呼ばれる軽量のデータ アクセス ツールが提供されます。Spring Boot は JdbcTemplate のデフォルトの自動構成を提供します。@Autowired またはコンストラクターを直接使用して、それを Bean に注入して使用できます。

次に、JdbcTemplate を介してデータベースへのアクセスを実装します。コードは次のとおりです。
パッケージ tangyu9880;
org.junit.jupiter.api.Test をインポート;
org.springframework.beans.factory.annotation.Autowired をインポート;
org.springframework.boot.test.context.SpringBootTest をインポート;
org.springframework.jdbc.core.JdbcTemplate をインポート;
import javax.sql.DataSource;
import java.sql.SQLException;
@SpringBootTest
class SpringBootJdbcApplicationTests { //データ ソース コンポーネント@Autowired DataSource dataSource; //データベースへのアクセスに使用されるコンポーネント@Autowired JdbcTemplate jdbcTemplate; @Test void contextLoads() throws SQLException { System.out.println("デフォルトのデータ ソースは次のとおりです: " + dataSource.getClass());









System.out.println("データベース接続インスタンス: " + dataSource.getConnection());
//データベースへのアクセス
Integer i = jdbcTemplate.queryForObject("SELECT count(*) from user", Integer.class);
System.out.println ("ユーザー テーブルには " + i + " 個のデータがあります。");
}
}

テストコードを実行すると、結果は次のようになります。
デフォルトのデータ ソースは次のとおりです。 クラス com.zaxxer.hikari.HikariDataSource
データベース接続インスタンス: HikariProxyConnection@659763564 ラップ com.mysql.cj.jdbc.ConnectionImpl@59edb4f5
ユーザー テーブルには 1 つのデータがあります。

上記の実行結果からわかるように、Spring Boot はデフォルトで HikariCP をデータ ソースとして使用してデータベースにアクセスします。

おすすめ

転載: blog.csdn.net/weixin_64842782/article/details/125106972