• 售前

  • 售后

热门帖子
入门百科

MongoDB orm框架的注意事项及简单使用

[复制链接]
Gordon520 显示全部楼层 发表于 2021-8-14 14:41:26 |阅读模式 打印 上一主题 下一主题
目次


  • Ⅰ. 简介
  • Ⅱ. 注意事项
  • Ⅲ. 使用方法
  • Ⅳ. 教程
起首spring自带了mongodb的orm,spring data mongodb,但是这个框架非常难用,最令人抓狂的是每个文档都要带一个 _class 字段,因为这个是string的,所以占用不少空间,而且去除也比力贫苦。故而使用 zfoo orm 框架

Ⅰ. 简介


基于MongoDB的orm框架,提供POJO对象和MongoDB数据库之间的映射

Ⅱ. 注意事项


       
  • POJO对象的属性必须提供get和set方法,否则无法映射   
  • 不支持泛型   
  • 假如不想映射某属性,直接加上transient关键字   
  • 现在支持基本数据属性(byte,short,int,long,float,double,boolean),字符串String,List,Set聚集属性的映射,不支持Map   
  • 数据库主键能用整数只管用整数,因为MongoDB默认的主键是一个字符串,比力占空间   
  • 数据库使用自研的orm框架,比如一个实体类UserEntity,映射到数据库中的聚集为user,首字母小写,去掉Entity   
  • 基于 caffeine 的高性能数据缓存   
  • 语法校验,如对没有加上get和set的字段主动语法提示

Ⅲ. 使用方法


1. IAccessor接口,为数据访问接口
       
  • 插入数据到数据库,会以对象的id()方法的返回值作为主键
  1. OrmContext.getAccessor().insert(obj)
复制代码
       
  • 删除数据库中的数据,会以对象的id()方法的返回值作为查找关键字,删除以这个id()为主键的数据
  1. OrmContext.getAccessor().delete(obj);
复制代码
       
  • 修改数据库中的数据
  1. OrmContext.getAccessor().update(obj);
复制代码
2. IQuery接口,为数据复杂查询接口
3. 缓存使用方法
比方有下列配置
  1. <orm:config id="config" entity-package="com.zfoo.orm.**.entity">
  2.     <orm:host database="test" user="" password="">
  3.         <orm:address name="server0" url="127.0.0.1:27017"/>
  4.     </orm:host>
  5.     <!-- 缓存策略 -->
  6.     <orm:caches>
  7.         <orm:cache strategy="ten" size="10" expire-millisecond="600000"/>
  8.         <orm:cache strategy="hundred" size="100" expire-millisecond="600000"/>
  9.         <orm:cache strategy="thousand" size="1000" expire-millisecond="600000"/>
  10.         <orm:cache strategy="threeThousand" size="3000" expire-millisecond="600000"/>
  11.         <orm:cache strategy="tenThousand" size="10000" expire-millisecond="600000"/>
  12.     </orm:caches>
  13.     <!-- 持久化策略 -->
  14.     <orm:persisters>
  15.             <orm:persister strategy="cronDefault" type="cron" config="0,30 * * * * ?"/>
  16.             <orm:persister strategy="cron3s" type="cron" config="0/3 * * * * ?"/>
  17.             <orm:persister strategy="cron15s" type="cron" config="0/15 * * * * ?"/>
  18.             <orm:persister strategy="cron30s" type="cron" config="0/30 * * * * ?"/>
  19.             <orm:persister strategy="cron1m" type="cron" config="0 0/30 * * * ?"/>
  20.             <orm:persister strategy="time30s" type="time" config="30000"/>
  21.         </orm:persisters>
  22. </orm:config>
复制代码
有下列注解
  1. @EntityCaches(cacheStrategy = "tenThousand", persister = @Persister("time30s"))
  2. public class UserEntity implements IEntity<Long> {
  3. }
复制代码
       
  • database表现操纵哪个数据库   
  • address表现数据库的地址,支持分片的配置   
  • caches中的strategy表现一个缓存的战略,即将数据库中的数据先读入Orm中的EntityCaches缓存,如hundred这个战略表现,缓存数据库中1000条数据,10分钟过期   
  • persisters中的strategy表现一个持久化的战略,如3s这个战略表现,将EntityCaches中的缓存数据每3s写入到数据库中一次,即使中途宕机,也只丧失3秒的数据   
  • EntityCaches这个注解表现将会被Orm管理,使用hundred战略,缓存的持久化战略为3s

Ⅳ. 教程


test下中包罗了所有增编削查的教程,运行之前请先安装MongoDB
以上就是MongoDB orm框架的注意事项及简单使用的具体内容,更多关于MongoDB orm框架的资料请关注草根技术分享其它相干文章!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作