MongoDB ormフレームワークの注意点と簡単な使い方
2022-01-19 02:47:16
まず、springにはspring data mongodbというormが付属していますが、このフレームワークは非常に使いづらく、最も厄介なのは各ドキュメントに_classフィールドを持ってこなければならず、これは文字列なのでスペースを取り、また削除もより面倒なことです。代わりに、zfoo orm フレームワークを使用します。
I. はじめに
POJOオブジェクトとMongoDBデータベース間のマッピングを提供するMongoDBベースのormフレームワークです。
II. 注意事項
- POJO オブジェクトのプロパティは get および set メソッドを提供する必要があり、そうでない場合はマッピングできません。
- ジェネリックには対応していません
- 属性をマッピングしない場合は、transient キーワードを追加するだけです。
- 現在、基本的なデータ属性(byte, short, int, long, float, double, boolean)、String, List, Setコレクション属性のマッピングをサポートしており、Map属性はサポートしていません。
- データベースの主キーはできるだけ整数を使うようにする。
- データベースは、ユーザー、小文字のイニシャル、Entityを削除するようにデータベースのコレクションにマッピングされたエンティティクラスUserEntityのような、独自のormフレームワークを使用します。
- に基づいています。 カフェイン 高性能データキャッシング
-
シンタックスチェック(getやsetのないフィールドの自動シンタックスヒントなど
III. 使用方法
1. IAccessor インターフェース、データアクセス用
- データベースへのデータ挿入は、オブジェクトのid()メソッドの戻り値を主キーとする
OrmContext.getAccessor().insert(obj)
- データベースからデータを削除すると、オブジェクトの id() メソッドの返り値をルックアップキーとして使用し、この id() を主キーとするデータを削除します。
OrmContext.getAccessor().delete(obj);
- データベースのデータを修正する
OrmContext.getAccessor().update(obj);
2. データに対する複雑なクエリのためのIQueryインターフェイス
3.キャッシュの利用
例えば、次のような構成があります。
<orm:config id="config" entity-package="com.zfoo.orm.**.entity">
<orm:host database="test" user="" password="">
<orm:address name="server0" url="127.0.0.1:27017"/>
</orm:host>
<! -- Cache policy -->
<orm:caches>
<orm:cache strategy="ten" size="10" expire-millisecond="600000"/>
<orm:cache strategy="hundred" size="100" expire-millisecond="600000"/>
<orm:cache strategy="threshold" size="1000" expire-millisecond="600000"/>
<orm:cache strategy="threeThousand" size="3000" expire-millisecond="600000"/>
<orm:cache strategy="tenThousand" size="10000" expire-millisecond="600000"/>
</orm:caches>
<! -- persistence policy -->
<orm:persisters>
<orm:persister strategy="cronDefault" type="cron" config="0,30 * * * * * ? "/>
<orm:persister strategy="cron3s" type="cron" config="0/3 * * * * * ? "/>
<orm:persister strategy="cron15s" type="cron" config="0/15 * * * * * ? "/>
<orm:persister strategy="cron30s" type="cron" config="0/30 * * * * * ? "/>
<orm:persister strategy="cron1m" type="cron" config="0 0/30 * * * * ? "/>
</orm:persister strategy="time30s" type="time" config="30000"/>
</orm:persisters>
</orm:config>
には以下のアノテーションがあります。
@EntityCaches(cacheStrategy = "tenThousand", persister = @Persister("time30s"))
public class UserEntity implements IEntity<Long> {
}
- database は、どのデータベースに対して操作を行うかを示します。
- addressはデータベースのアドレスを示し、シャーディング構成に対応します。
- cachesのstrategyはキャッシュ戦略を表し、つまり、データベース内のデータはまずOrmのEntityCachesキャッシュに読み込まれ、例えば100、データベース内のデータを1000個キャッシュする戦略では、10分失効する
- persistersのstrategyは永続化戦略を表し、例えば3sとすると、EntityCachesにキャッシュされたデータは3秒ごとにデータベースに書き込まれるので、途中でマシンがダウンしても3秒分のデータしか失われないということです
-
EntityCachesアノテーションは、Ormによって管理され、100のポリシーを使用し、キャッシュの永続化ポリシーは3sであることを意味します。
Ⅳ. チュートリアル
追加、削除、チェックのチュートリアルはすべてテスト版として含まれています。
上記は、MongoDB ormフレームワークの考察と簡単な使用方法の詳細で、MongoDB ormフレームワークの詳細については、スクリプトハウスの他の関連記事に注目してください
関連
-
macシステムでのmongoDBデータベースのインストールと設定
-
Aliクラウドサーバーにmongodbを導入する詳細な流れ
-
mongodbのインストールと起動の詳細説明
-
MongoDBデータベース操作のための10の共通コマンド
-
MongoDBデータベースのインストール手順
-
Navicat Premiumでmongodbと接続する詳細チュートリアル
-
MongoDBのloggingモジュールについて説明します。
-
MongoDB起動時の例外エラーと正しいシャットダウン方法
-
MongoDBデータベースのインストールとデプロイメント、および警告の最適化
-
[MongoDB] 127.0.0.1:27017 への接続に失敗しました、理由。接続が拒否されました
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン