最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MongoDB orm框架的注意事項及簡單使用

 更新時間:2021年06月19日 14:18:18   作者:孫來瘋  
MongoDB官方提供的orm的輕量級封裝的 zfoo orm 框架,只對官方提供的進(jìn)行了簡單的封裝,還做了一些官方不支持的語法校驗。本文介紹了該框架的注意事項及簡單使用

首先spring自帶了mongodb的orm,spring data mongodb,但是這個框架非常難用,最令人抓狂的是每個文檔都要帶一個 _class 字段,因為這個是string的,所以占用不少空間,而且去除也比較麻煩。故而使用 zfoo orm 框架

Ⅰ. 簡介

基于MongoDB的orm框架,提供POJO對象和MongoDB數(shù)據(jù)庫之間的映射

Ⅱ. 注意事項

  • POJO對象的屬性必須提供get和set方法,否則無法映射
  • 不支持泛型
  • 如果不想映射某屬性,直接加上transient關(guān)鍵字
  • 目前支持基本數(shù)據(jù)屬性(byte,short,int,long,float,double,boolean),字符串String,List,Set集合屬性的映射,不支持Map
  • 數(shù)據(jù)庫主鍵能用整數(shù)盡量用整數(shù),因為MongoDB默認(rèn)的主鍵是一個字符串,比較占空間
  • 數(shù)據(jù)庫使用自研的orm框架,比如一個實體類UserEntity,映射到數(shù)據(jù)庫中的集合為user,首字母小寫,去掉Entity
  • 基于 caffeine 的高性能數(shù)據(jù)緩存
  • 語法校驗,如對沒有加上get和set的字段自動語法提示

Ⅲ. 使用方法

1. IAccessor接口,為數(shù)據(jù)訪問接口

  • 插入數(shù)據(jù)到數(shù)據(jù)庫,會以對象的id()方法的返回值作為主鍵
OrmContext.getAccessor().insert(obj)
  • 刪除數(shù)據(jù)庫中的數(shù)據(jù),會以對象的id()方法的返回值作為查找關(guān)鍵字,刪除以這個id()為主鍵的數(shù)據(jù)
OrmContext.getAccessor().delete(obj);
  • 修改數(shù)據(jù)庫中的數(shù)據(jù)
OrmContext.getAccessor().update(obj);

2. IQuery接口,為數(shù)據(jù)復(fù)雜查詢接口

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>

    <!-- 緩存策略 -->
    <orm:caches>
        <orm:cache strategy="ten" size="10" expire-millisecond="600000"/>
        <orm:cache strategy="hundred" size="100" expire-millisecond="600000"/>
        <orm:cache strategy="thousand" 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>

    <!-- 持久化策略 -->
    <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表示操作哪個數(shù)據(jù)庫
  • address表示數(shù)據(jù)庫的地址,支持分片的配置
  • caches中的strategy表示一個緩存的策略,即將數(shù)據(jù)庫中的數(shù)據(jù)先讀入Orm中的EntityCaches緩存,如hundred這個策略表示,緩存數(shù)據(jù)庫中1000條數(shù)據(jù),10分鐘過期
  • persisters中的strategy表示一個持久化的策略,如3s這個策略表示,將EntityCaches中的緩存數(shù)據(jù)每3s寫入到數(shù)據(jù)庫中一次,即使中途宕機(jī),也只損失3秒的數(shù)據(jù)
  • EntityCaches這個注解表示將會被Orm管理,使用hundred策略,緩存的持久化策略為3s

Ⅳ. 教程

test下中包含了所有增刪改查的教程,運行之前請先安裝MongoDB

以上就是MongoDB orm框架的注意事項及簡單使用的詳細(xì)內(nèi)容,更多關(guān)于MongoDB orm框架的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MongoDB??數(shù)據(jù)模型的設(shè)計模式及優(yōu)缺點

    MongoDB??數(shù)據(jù)模型的設(shè)計模式及優(yōu)缺點

    這篇文章主要介紹了MongoDB??數(shù)據(jù)模型的設(shè)計模式,在實際開發(fā)中,大多數(shù)性能問題都可以追溯到糟糕的模型設(shè)計,官方也提供分享過文檔模型設(shè)計的進(jìn)階技巧,這里簡單翻譯記錄一下,需要的朋友可以參考下
    2022-12-12
  • mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入(推薦)

    mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入(推薦)

    這篇文章主要介紹了mongoDB4.2.8備份恢復(fù)與導(dǎo)出導(dǎo)入的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • MongoDB 常用的數(shù)據(jù)類型和基本操作

    MongoDB 常用的數(shù)據(jù)類型和基本操作

    這篇文章主要介紹了MongoDB 常用的數(shù)據(jù)類型和基本操作,幫助大家更好的理解和學(xué)習(xí)使用MongoDB數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-03-03
  • MongoDB 索引創(chuàng)建和查詢優(yōu)化的方法

    MongoDB 索引創(chuàng)建和查詢優(yōu)化的方法

    這篇文章主要介紹了MongoDB 索引創(chuàng)建和查詢優(yōu)化的方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • 大數(shù)據(jù)環(huán)境下mongoDB為何要加索引淺析

    大數(shù)據(jù)環(huán)境下mongoDB為何要加索引淺析

    這篇文章主要給大家介紹了關(guān)于大數(shù)據(jù)環(huán)境下mongoDB為何要加索引的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mongoDB具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • PHP庫 查詢Mongodb中的文檔ID的方法

    PHP庫 查詢Mongodb中的文檔ID的方法

    這篇文章主要介紹了PHP庫 查詢Mongodb中的文檔ID的方法的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • centos6.5中安裝mongodb簡明總結(jié)

    centos6.5中安裝mongodb簡明總結(jié)

    這篇文章主要介紹了centos6.5中安裝mongodb簡明總結(jié),本文簡單的總結(jié)了安裝過程中的6個步驟,需要的朋友可以參考下
    2014-10-10
  • MongoDB聚合運算符$toBool詳解

    MongoDB聚合運算符$toBool詳解

    $toBool聚合運算符將指定的值轉(zhuǎn)換為布爾類型boolean,這篇文章主要介紹了MongoDB聚合運算符:$toBool的相關(guān)知識,需要的朋友可以參考下
    2024-05-05
  • 把MongoDB作為循環(huán)隊列的方法詳解

    把MongoDB作為循環(huán)隊列的方法詳解

    這篇文章主要給大家介紹了關(guān)于把MongoDB作為循環(huán)隊列的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • MongoDB學(xué)習(xí)筆記之分組(group)使用示例

    MongoDB學(xué)習(xí)筆記之分組(group)使用示例

    這篇文章主要介紹了MongoDB學(xué)習(xí)筆記之分組(group)使用示例,本文直接給出一組測試數(shù)據(jù),然后練習(xí)分組的基本使用,需要的朋友可以參考下
    2015-07-07

最新評論

凤凰县| 固安县| 卓尼县| 库尔勒市| 米泉市| 长乐市| 嘉禾县| 高雄市| 赤城县| 桃江县| 吉木萨尔县| 廉江市| 平泉县| 东乌| 安多县| 沂源县| 连城县| 出国| 营山县| 元氏县| 尼勒克县| 潼关县| 天水市| 苏尼特右旗| 常州市| 藁城市| 鄱阳县| 明光市| 思茅市| 溧水县| 鄂州市| 昭觉县| 邢台县| 都江堰市| 阿荣旗| 固安县| 兴宁市| 区。| 河东区| 体育| 罗江县|