淘先锋技术网

首页 1 2 3 4 5 6 7

使用说明:

一、MongoDB数据库参数配置

1、推荐使用mongodb.cfg.properties配置,则在构造MongoDBService对象的时候只需调用无参构造方法即可自动完成配置。

\

2、如果没有通过mongodb.cfg.properties,会采用程序指定的默认配置

 

?

1

2

3

4

5

6

7

8

// 定义默认配置,1、IP地址 2、端口号 3、用户名 4、密码 5、配置文件位置名 6、数据库名

    private static final String MONGODB_ADDRESS = "127.0.0.1";

    private static final int MONGODB_PORT = 27017;

    private static final String MONGODB_USERNAME = "root";

    private static final String MONGODB_PASSWORD = "";

    private static final String MONGODB_RESOURCE_FILE = "mongodb.cfg.properties";

    private static final String MONGODB_DBNAME = "test";

    private static final String MONGODB_COLLECTIONNAME = "test";

 

3、通过有参构造方法构造MongoDBService对象或通过get/set方法,指定数据库及集合,优先级最高

 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

//有参构造方法,指定数据库名与集合名

    public MongoDBServiceImpl(String dbName, String collName) {

        this.dbName = dbName;

        this.collName = collName;

        try {

            db = getDb();

        } catch (Throwable e) {

            e.printStackTrace();

        }

    }

    //无参构造方法,返回配置文件配置的数据库对象引用,如果配置文件中没有设置则返回默认数据库对象引用

    public MongoDBServiceImpl() {

        getDb();

    }

    

    public DB getDb() {

        if (this.db == null) {

            if (this.dbName == null) {

                this.db = MongoDBUtil.getDB();

            } else {

                this.db = MongoDBUtil.getDBByName(this.dbName);

            }

        }

        return this.db;

    }

     

    

    public DBCollection getCollection() {

        if(this.collName != null){

            return db.getCollection(this.collName);

        }

        else {

            return MongoDBUtil.getDBCollection();

        }

    }


二、方法简介(具体实现参看MongoDBServiceImpl接口实现类)

 

1、获取基本信息或对象:

(1)、获取数据库名: getDbName()
(2)、设置数据库名(指定数据库): setDbName(String dbName)
(3)、获取集合名: getCollName()
(4)、设置集合名(指定集合): setCollName(String collName)
(5)、获取数据库对象: getDb()

2、数据插入方式:
(1)、插入单条数据: insert(DBObject obj)
(2)、插入多条数据: insertBatch(List list)void

3、数据删除方式:
(1)、删除单条数据: delete(DBObject obj)
(2)、删除多条数据: deleteBatch(List list)

4、数量统计方式:
(1)、获取集合中数据数量: getCollectionCount()
(2)、获取符合条件的数据数量: getCount(DBObject obj)

5、查找数据:
(1)、查找所有数据: findAll()
(2)、查找符合条件的数据: find(DBObject obj)
(3)、查找符合条件的数据并排序: find(DBObject query, DBObject sort)
(4)、查找符合条件的指定数量的数据并排序:find(DBObject query, DBObject sort, int start, int limit)
(5)、由ID查找数据: getById(String id)

6、更新数据 :update(DBObject setFields, DBObject whereFields) void

7、打印List: printListDBObj(List list) 

测试代码:(@Test)

 

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

public class testMongoService {

    //使用mongodb.cfg.properties中配置的数据库与集合,如未指定,使用MongoDBUtil中默认的数据库与集合

    MongoDBService mongoDBService1 = new MongoDBServiceImpl();

     

    //测试插入数据

    @Test

    public void testInsert(){

        //数据一,包括用户名、密码,地址信息(省份、城市),爱好[…]

        BasicDBList dbList1 = new BasicDBList();

        dbList1.add("basketball");

        dbList1.add("music");

        dbList1.add("web");

        DBObject dbObject1 = new BasicDBObject("username","insert1")

            .append("age", 18)

            .append("address", new BasicDBObject("province","广东").append("city", "广州"))

            .append("favourite", dbList1);

        //数据二

        BasicDBList dbList2 = new BasicDBList();

        dbList2.add("football");

        dbList2.add("music");

        DBObject dbObject2 = new BasicDBObject("username","insert2")

            .append("age", 18)

            .append("address", new BasicDBObject("province","陕西").append("city", "西安"))

            .append("favourite", dbList2);

        //数据三

        BasicDBList dbList3 = new BasicDBList();

        dbList3.add("Linux");

        DBObject dbObject3 = new BasicDBObject("username","insert3")

            .append("age", 18)

            .append("address", new BasicDBObject("province","河北").append("city", "保定"))

            .append("favourite", dbList3);

        //数据四

        BasicDBList dbList4 = new BasicDBList();

        dbList4.add("swim");

        dbList4.add("android");

        DBObject dbObject4 = new BasicDBObject("username","insert4")

            .append("age", 18)

            .append("address", new BasicDBObject("province","四川").append("city", "成都"))

            .append("favourite", dbList4);

        //数据五

        DBObject dbObject5 = new BasicDBObject("username", "insert5")

            .append("age", 28)

            .append("address", new BasicDBObject("city", "杭州"));

        mongoDBService1.printListDBObj(mongoDBService1.findAll());

        System.out.println("——————————————————insert collection——————————————————");

        List<dbobject> list = new ArrayList<dbobject>();

        list.add(dbObject1);

        list.add(dbObject2);

        list.add(dbObject3);

        list.add(dbObject5);

        mongoDBService1.insertBatch(list);

        System.out.println("——————————————————insert one——————————————————");

        mongoDBService1.insert(dbObject4);

        mongoDBService1.printListDBObj(mongoDBService1.findAll());

    }

     

    //测试查询数据

    @Test

    public void testFind(){

        DBObject dbObject = new BasicDBObject("username","insert1");

        System.out.println("数量:" + mongoDBService1.getCollectionCount());

        System.out.println("username=java的数据数量:" + mongoDBService1.getCount(dbObject));

        System.out.println("——————————————————find all——————————————————");

        mongoDBService1.printListDBObj(mongoDBService1.findAll());

        System.out.println("——————————————————find obj——————————————————");

        mongoDBService1.printListDBObj(mongoDBService1.find(dbObject));

        System.out.println("——————————————————find sort——————————————————");

        mongoDBService1.printListDBObj(mongoDBService1.find(new BasicDBObject(), new BasicDBObject("age", 1)));

        System.out.println("——————————————————find sort limit——————————————————");

        mongoDBService1.printListDBObj(mongoDBService1.find(new BasicDBObject(), new BasicDBObject("age", 1), 1, 2));

    }

 

    //测试数据更新

    @Test

    public void testUpdate(){

        BasicDBObject newDocument = new BasicDBObject("$set",new BasicDBObject("age",11));

                 

        BasicDBObject searchQuery = new BasicDBObject().append("username", "insert2");

     

        mongoDBService1.printListDBObj(mongoDBService1.find(searchQuery));

        System.out.println("——————————————————update——————————————————");

        mongoDBService1.update(newDocument, searchQuery);

        mongoDBService1.printListDBObj(mongoDBService1.find(searchQuery));

    }

     

    //测试数据删除

    @Test

    public void testDelete(){

        DBObject dbObject1 = new BasicDBObject("username", "insert1");

        DBObject dbObject2 = new BasicDBObject("username", "insert2");

        DBObject dbObject3 = new BasicDBObject("username", "insert3");

        DBObject dbObject4 = new BasicDBObject("username", "insert4");

        DBObject dbObject5 = new BasicDBObject("username", "insert5");

        List<dbobject> list = new ArrayList<dbobject>();

        list.add(dbObject1);

        list.add(dbObject2);

        list.add(dbObject3);

        list.add(dbObject4);

        mongoDBService1.printListDBObj(mongoDBService1.findAll());

        System.out.println("——————————————————delete list——————————————————");

        mongoDBService1.deleteBatch(list);

        System.out.println("——————————————————delete one——————————————————");

        mongoDBService1.delete(dbObject5);

        //System.out.println("——————————————————delete all——————————————————");

        //mongoDBService1.delete(new BasicDBObject());

        mongoDBService1.printListDBObj(mongoDBService1.findAll());

    }

}

 

原文地址:http://write.blog.csdn.net/postedit