MongoDB的薄封装(nutzmongo库)

Jul 10, 2017 10:38:44 AM

作者:wendal

简介

MongoDB 驱动的薄封装, 主要是封装Pojo<->BasicDbObject的转换, 支持mongodb java driver 3.0+

项目地址: https://github.com/nutzam/nutzmongo

添加依赖

maven 的配置

  1. <dependency>
  2. <groupId>org.nutz</groupId>
  3. <artifactId>nutzmongo</artifactId>
  4. <version>1.r.60</version>
  5. </dependency>
  6. <!-- 其他依赖 -->

直接下载jar

声明Ioc Bean

  1. var ioc={
  2. // 单机
  3. zMongo : {
  4. args : ["127.0.0.1", 27017], // 或者不写参数,默认就是127.0.0.1和27017
  5. factory : "org.nutz.mongo.ZMongo#me"
  6. },
  7. // 集群
  8. //zMongo : {
  9. // args : ["mongodb://root:mypass@192.168.2.199:3717,192.168.2.200:3717/admin?replicaSet=mgset"], // 基于Mongo URI创建ZMongo
  10. // factory : "org.nutz.mongo.ZMongo#uri"
  11. //},
  12. zMoDB : {
  13. args : ["nutzbook"], // 数据库名称
  14. factory : "$zMongo#db"
  15. },
  16. // 集合,可以在这里声明,也可以走@Inject注入
  17. zMoCoUser : {
  18. args : ["user"],
  19. factory : "$zMoDB#c"
  20. }
  21. /* // 还可以声明几个常用的集合,也可以在Service中生成
  22. ,zMoCoTopic : {
  23. args : ["topic", false],
  24. factory : "$zMoDB#cc"
  25. },
  26. zMoCoReply : {
  27. args : ["reply", false],
  28. factory : "$zMoDB#cc"
  29. }
  30. */
  31. }

Service中的注入和使用

  1. @IocBean
  2. public class XXXService {
  3. // 按需注入几个核心对象
  4. @Inject
  5. protected ZMongo zmongo; //注意大小写与配置的名字一致
  6. @Inject
  7. protected ZMoDB zMoDB; // 当前数据
  8. @Inject ZMoCo zMoCoUser; // 按js里面的配置取
  9. @Inject("java:$zMoDB.c('role')") // 也可以直接取. 当然了,也可以代码调用zMoDB.c(集合名词)来动态获取
  10. ZMoCo zMoCoRole;
  11. public void insert(User...users) {
  12. zMoCoUser.insert(ZMo.toDocArray(users));
  13. }
  14. public List<User> query(ZMoDoc cnd) {
  15. List<User> list = new ArrayList<User>();
  16. DBCursor cursor = MoCoUser.find(cnd);
  17. if(cursor.hasNext()) {
  18. DBObject obj = cursor.next();
  19. list.add(ZMo.me().fromDocToObj(obj, User.class));
  20. }
  21. return list;
  22. }
  23. // ZMoCo还有很多方法哦,请挖掘
  24. }

关于日志

nutzmongo内的日志大部分是ZMoCo输出的, 走的也是nutz的Log接口. 若使用log4j, 下面是参考配置

本页面的文字允许在知识共享 署名-相同方式共享 3.0协议GNU自由文档许可证下修改和再使用。

原文: http://nutzam.com/core/nosql/mongodb.html