Spring DBアクセス技術-純JDBC、多形性賛!
データベースをどのように処理したかについて説明します.
build.jdbc、h 2データベース関連ライブラリをgradeファイルに 追加
DBに貼りたいなら接続情報などを入れる必要がありますが、最近SpringBootがやっています.パスを挿入するだけで
そうすると、DBにアクセスする準備ができています.サーバを再起動すると、Springは接続DBのすべての作業を行います!
今からJDBC APIで開発開始!!
でもどこで開発...?
以前、インプリメンテーションを使用してメモリベースのリポジトリ(
インターフェイスもやったし、今やっと新しい
このようにJDBC APIで直接コードするのは20年前のことですだから、古代の開発者がこんなに苦労して生活していたのだろう.精神健康のために、参考にしただけだ.
まず、データベースにはDataSourceが必要です.
コンフィギュレーションファイルにjdbc関連設定とh 2データベース設定が設定されているため、スプリングがイジェクトを開始するとdataSourceという接続情報が作成されるため、オブジェクトを注入できます.
dataSource.getConnection(); 接続先
実施形態としては、MemoryMemberRepositoryおよびJdbcMemberRepositoryがある.
SOLIDの原則では、開放式閉鎖法則(OCP、開放式閉鎖原則)
-展開はオン、修正はオフの スプリングの依存入力(DI)を使用すると、既存のコードをまったく変更せず、設定するだけで実装クラス を変更できます.会員を登録し、データベースの結果入力が正しいことを確認します. のデータはデータベースに格納されているので、Springサーバを再実行するもデータは を安全に格納することができる.
多形性賛!
純JDBC
優先パラメータ
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
runtimeOnly 'com.h2database:h2'
JavaはデータベースにアクセスするにはJDBCドライバが必要です.DBに貼りたいなら接続情報などを入れる必要がありますが、最近SpringBootがやっています.パスを挿入するだけで
src/main/resources/application.properties
そうすると、DBにアクセスする準備ができています.サーバを再起動すると、Springは接続DBのすべての作業を行います!
今からJDBC APIで開発開始!!
でもどこで開発...?
以前、インプリメンテーションを使用してメモリベースのリポジトリ(
MemoryMemberRepository
)を作成したことを覚えていますか?インターフェイスもやったし、今やっと新しい
JdbccMemberRepository
実装体に変えることができました!!repository/JdbcMemberRepository
public class JdbcMemberRepository implements MemberRepository{
@Override
public Member save(Member member) {
return null;
}
@Override
public Optional<Member> findById(Long id) {
return Optional.empty();
}
@Override
public Optional<Member> findByName(String name) {
return Optional.empty();
}
@Override
public List<Member> findAll() {
return null;
}
}
ひとつずつ実現すればいいんですよね~Jdbcリポジトリ実装
このようにJDBC APIで直接コードするのは20年前のことですだから、古代の開発者がこんなに苦労して生活していたのだろう.精神健康のために、参考にしただけだ.
まず、データベースにはDataSourceが必要です.
repository/JdbcMemberRepository
public classs JdbcMemberRepository implements MemberRepository {
private final DataSource dataSource;
// dataSource 를 스프링으로부터 주입받아야 한다.
public JdbcMemberRepository(DataSource dataSource){
this.dataSource = dataSource;
// dataSource.getConnection();
}
... 이하의 코드는 고대의 코드라 여기서는 생략했다.
모든 코드를 보려면, github 으로!
}
DataSourceは、データベース接続を取得する際に使用するオブジェクトです.Spring Bootは、データベース接続情報に基づいてデータソースを作成し、Spring VINに設定します.だからDIを受け入れることができますコンフィギュレーションファイルにjdbc関連設定とh 2データベース設定が設定されているため、スプリングがイジェクトを開始するとdataSourceという接続情報が作成されるため、オブジェクトを注入できます.
dataSource.getConnection(); 接続先
スプリング設定の変更
SpringConfig.java
@Configuration
public class SpringConfig {
private DataSource dataSource;
@Autowired
public SpringConfig(DataSource dataSource){
this.dataSource = dataSource;
}
@Bean
public MemberService memberService(){
return new MemberService(memberRepository());
}
@Bean
public MemberRepository memberRepository(){
return new JdbcMemberRepository(dataSource);
}
}
return new MemoryMemberRepositor->JdbcMemberRepository、DBのみに変更されたデータベースへの接続に成功しました!これがオブジェクト向けの多形性で、スプリングを使う理由!!実施形態としては、MemoryMemberRepositoryおよびJdbcMemberRepositoryがある.
SOLIDの原則では、
-展開はオン、修正はオフの
多形性賛!
Reference
この問題について(Spring DBアクセス技術-純JDBC、多形性賛!), 我々は、より多くの情報をここで見つけました https://velog.io/@yeonnex/스프링-DB-접근-기술-순수-JDBC-다형성-짱テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol