SpringBootでMongoDBをバインドする
今までSQL MAPERVSORMでやってきたけど今回は.
様々なタイプのDBに適応するために作られています.
MysqlはRDBだけどmongodyはNOSQLが一番近い!NOSQLの経験事項があるかどうかの公募も多いです.
hdfsまたはデータ分散処理の原因は、RDBが長ければ長いほど、その値をRDBに入れるのではなく、NOSQLに入れるべきだと考えられるためであるかもしれない.
---ここまではプライベートトークで、
よし、依存性をつけよう~
前者の場合はMongoRepoが単独で使用されている場合ですが、そう宣言すると他のDBなどは使用できません…
後者はREACIVEなので、他に遊ぶこともできます!
モンゴDBだけ書くつもりなら、電子的に行っても大丈夫です.
このように設定して続行します
yml構造は以下の通りである
authentication-databaseはlocalhost内で接続する場合は必要ないようですが、他のipから接続しようとすると、筆者は...設定を受け入れるには...
もし間違っていたら...追加:
サービスとコントローラを簡単に作成し、呼び出されるかどうかをテストします.
正常に動作します.postmanに電話してください.
Yahoは正常に動作
筆者のいるモンゴデビはすべてそのように保存されています.
エンティティの作成
モンゴルdbを書きたいのですが、jpa方式を選びます.しかし、私たちが無視した事実は...
上記のエラーが発生した理由を検索し、Spring Data JPA Docで関連コンテンツを見つけました.ログなどのエラーが発生したのは、Spring-Dat-JPAでは、参照スコア()がPropertyを検索するナビゲーションパスを指定する保持値*であるためです.
表示...dbに保存されている色に変えます
mongodbにはハングルが入っているので、ハングル変数名で書きます.
ここには今分かれ道がある
クエリーはMongoTemplateクエリーを使用するか、repoを直接作成してクエリーするか
mongoTemplateはmongodyが提供する方法です
Mondo DB TEMPLATEメソッドはそれ以外にもあります...うん.
後で時間があればテンプレートを書いて、今回はREPOで
テンプレートの場合、サービス側でテンプレートを宣言して呼び出すと終了します.
repo、repoでlike%a%を使用真剣に探して、regexという正規表現を使うことができます.
サービス団
このように濾過する
制御室に行きます.
postmanでクエリーしてテストします.
予圧効果はいいですね...
これらはすべて単語+単語で構成されており、suffix arrayを使用すると検索エンジンをより効率的に作成できますが、まずここで終わります.
様々なタイプのDBに適応するために作られています.
MysqlはRDBだけどmongodyはNOSQLが一番近い!NOSQLの経験事項があるかどうかの公募も多いです.
hdfsまたはデータ分散処理の原因は、RDBが長ければ長いほど、その値をRDBに入れるのではなく、NOSQLに入れるべきだと考えられるためであるかもしれない.
---ここまではプライベートトークで、
よし、依存性をつけよう~
implementation ('org.springframework.boot:spring-boot-starter-data-mongodb')
ええ、そうです.彼らは私を他の場所でそうさせました.implementation ('org.springframework.boot:spring-boot-starter-data-mongodb-reactive')
それは.前者の場合はMongoRepoが単独で使用されている場合ですが、そう宣言すると他のDBなどは使用できません…
後者はREACIVEなので、他に遊ぶこともできます!
モンゴDBだけ書くつもりなら、電子的に行っても大丈夫です.
このように設定して続行します
yml構造は以下の通りである
spring:
data:
mongodb:
host: 546.465.445
port: 27017
authentication-database: admin
username: qweqwe
password: 123
database: qwerqwer
# uri: mongodb: //546.465.445:27017/qwerqwer
値をランダムにhostに配置するか、hostにlocalhostまたはipeを配置して適切に設定します.authentication-databaseはlocalhost内で接続する場合は必要ないようですが、他のipから接続しようとすると、筆者は...設定を受け入れるには...
ROMリセットエラー
もし間違っていたら...追加:
implementation('org.projectlombok:lombok')
annotationProcessor ('org.projectlombok:lombok')
サービスとコントローラを簡単に作成し、呼び出されるかどうかをテストします.
@RequiredArgsConstructor
@RestController
@CrossOrigin(origins = "*", allowedHeaders = "*")
public class ShelterController {
private final ShelterService shelterService;
@GetMapping("api/shelter/find/earthquakes/{title}")
public String findById(@PathVariable String title){
System.out.println("test");
return null;
// return (ShelterNameSearchResponsseDto) shelterService.getShelterList(title);
}
}
@RequiredArgsConstructor
@Service
public class ShelterService {
public List<String> getShelterList(String title) {
System.out.println("test");
return null;
}
}
正常に動作します.postmanに電話してください.
Yahoは正常に動作
筆者のいるモンゴデビはすべてそのように保存されています.
エンティティの作成
public class Earchquakeshelter {
@Id
private String Eq_id;
private Long Eq_num;
private String Eq_name;
private String Eq_address;
private Long Eq_area;
private Long Eq_long;
private Long Eq_lat;
}
待って!!!
モンゴルdbを書きたいのですが、jpa方式を選びます.しかし、私たちが無視した事実は...
上記のエラーが発生した理由を検索し、Spring Data JPA Docで関連コンテンツを見つけました.ログなどのエラーが発生したのは、Spring-Dat-JPAでは、参照スコア()がPropertyを検索するナビゲーションパスを指定する保持値*であるためです.
表示...dbに保存されている色に変えます
mongodbにはハングルが入っているので、ハングル変数名で書きます.
@Document(collection = "earthquake_outdoor_csv_select")
@Getter
@NoArgsConstructor
public class Earthquakeshelter {
@Id
private String id;
private Long 시설번호;
private String 수용시설명;
private String 상세주소;
private Long 시설면적;
private Long 경도;
private Long 위도;
}
ここには今分かれ道がある
クエリーはMongoTemplateクエリーを使用するか、repoを直接作成してクエリーするか
mongoTemplateはmongodyが提供する方法です
Mondo DB TEMPLATEメソッドはそれ以外にもあります...うん.
後で時間があればテンプレートを書いて、今回はREPOで
テンプレートの場合、サービス側でテンプレートを宣言して呼び出すと終了します.
repo、repoでlike%a%を使用真剣に探して、regexという正規表現を使うことができます.
import java.util.List;
public interface ShelterRepo extends MongoRepository<Earthquakeshelter, String> {
List<Earthquakeshelter> findBy수용시설명Regex(String title);
}
サービス団
@RequiredArgsConstructor
@Service
public class ShelterService {
private final ShelterRepo shelterRepo;
public ShelterNameSearchResponseDto getShelterList(String title) {
String Regtitle = ".*" + title + ".*";
System.out.println(Regtitle);
List<Earthquakeshelter> earthquakeshelterlist = shelterRepo.findBy수용시설명Regex(Regtitle);
return new ShelterNameSearchResponseDto(earthquakeshelterlist);
}
}
このように濾過する
@Getter
@NoArgsConstructor
public class ShelterNameSearchResponseDto {
private List<Earthquakeshelter> earthquakeshelters;
public ShelterNameSearchResponseDto(List<Earthquakeshelter> list){
this.earthquakeshelters = list;
}
}
応答を宣言する.制御室に行きます.
@RequiredArgsConstructor
@RestController
@CrossOrigin(origins = "*", allowedHeaders = "*")
public class ShelterController {
private final ShelterService shelterService;
@GetMapping("api/shelter/find/earthquakes/{title}")
public ShelterNameSearchResponseDto findById(@PathVariable String title){
System.out.println("test" + title);
return (ShelterNameSearchResponseDto) shelterService.getShelterList(title);
}
}
postmanでクエリーしてテストします.
予圧効果はいいですね...
これらはすべて単語+単語で構成されており、suffix arrayを使用すると検索エンジンをより効率的に作成できますが、まずここで終わります.
Reference
この問題について(SpringBootでMongoDBをバインドする), 我々は、より多くの情報をここで見つけました https://velog.io/@tekies09/SpringBoot-에서-mongoDB-연동하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol