Java操作MongoDB实现增删改查

电玩女神 2021-09-26 01:28 557阅读 0赞

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.util.JSON;

public class TestMongoDB {
public static void main(String[] args) {

  1. new TestMongoDB().save();
  2. new TestMongoDB().queryAll();
  3. new TestMongoDB().queryByName();
  4. new TestMongoDB().update();
  5. new TestMongoDB().del();
  6. \}
  7. // 实例化mongo对象,连接mongodb服务器 包含所有的数据库
  8. protected static Mongo mongo = new Mongo();
  9. // 连接具体的数据库,参数是具体数据库的名称,若服务器中不存在,会自动创建
  10. protected static DB db = mongo.getDB("myMongo");
  11. // 操作具体的表,参数是具体表名称,若服务器上不存在,自动创建
  12. protected static DBCollection dbCollection = db.getCollection("user");
  13. public void save() \{
  14. try \{
  15. // 连接具体的数据库,参数是具体数据库的名称,若服务器中不存在,会自动创建
  16. //DB db = mongo.getDB("myMongo");
  17. // 操作具体的表,参数是具体表名称,若服务器上不存在,自动创建
  18. //DBCollection dbCollection = db.getCollection("user");
  19. // 添加操作
  20. BasicDBObject document = new BasicDBObject();
  21. // 数据
  22. document.put("id", 1);
  23. document.put("name", "xiaoli");
  24. document.put("age", 20);
  25. document.put("email", "abcd1990@126.com");
  26. document.put("sex", "男");
  27. document.put("address", "广东省深圳市南山区");
  28. // 保存到集合中
  29. dbCollection.insert(document);
  30. // 第二种:直接把json存到数据库中
  31. String jsonTest = "\{'id':2,'name':'小明'," + "'address':\{'city':'beijing','code':'065000'\}" + "\}";
  32. DBObject dbobjct = (DBObject) JSON.parse(jsonTest);
  33. dbCollection.insert(dbobjct);
  34. // 查询所有
  35. DBCursor cursor = dbCollection.find();
  36. System.out.println("--------添加数据后:");
  37. while (cursor.hasNext()) \{
  38. System.out.println(cursor.next());
  39. \}
  40. \} catch (Exception e) \{
  41. e.printStackTrace();
  42. \}
  43. \}
  44. public void queryAll() \{
  45. try \{
  46. // 连接具体的数据库,参数是具体数据库的名称,若服务器中不存在,会自动创建
  47. //DB db = mongo.getDB("myMongo");
  48. // 操作具体的表,参数是具体表名称,若服务器上不存在,自动创建
  49. //DBCollection dbCollection = db.getCollection("user");
  50. // 查询所有
  51. DBCursor cursor = dbCollection.find();
  52. System.out.println("---------查询所有:");
  53. while (cursor.hasNext()) \{
  54. System.out.println(cursor.next());
  55. \}
  56. \} catch (Exception e) \{
  57. e.printStackTrace();
  58. \}
  59. \}
  60. public void queryByName() \{
  61. try \{
  62. // 连接具体的数据库,参数是具体数据库的名称,若服务器中不存在,会自动创建
  63. //DB db = mongo.getDB("myMongo");
  64. // 操作具体的表,参数是具体表名称,若服务器上不存在,自动创建
  65. //DBCollection dbCollection = db.getCollection("user");
  66. BasicDBObject queryObject = new BasicDBObject();
  67. queryObject.put("id", 1);
  68. // 条件查询
  69. DBCursor cursor = dbCollection.find(queryObject);
  70. System.out.println("------------根据条件查询:");
  71. while (cursor.hasNext()) \{
  72. System.out.println(cursor.next());
  73. \}
  74. \} catch (Exception e) \{
  75. e.printStackTrace();
  76. \}
  77. \}
  78. public void update() \{
  79. try \{
  80. // 连接具体的数据库,参数是具体数据库的名称,若服务器中不存在,会自动创建
  81. //DB db = mongo.getDB("myMongo");
  82. // 操作具体的表,参数是具体表名称,若服务器上不存在,自动创建
  83. //DBCollection dbCollection = db.getCollection("user");
  84. BasicDBObject basObject = new BasicDBObject();
  85. basObject.put("id", 1);
  86. basObject.put("name", "xiaoli");
  87. basObject.put("age", 20);
  88. basObject.put("email", "abcd1990@126.com");
  89. basObject.put("sex", "男");
  90. basObject.put("address", "广东省深圳市南山区");
  91. // 第一种更新
  92. dbCollection.update(new BasicDBObject().append("age", 25), basObject);
  93. // 第二种更新
  94. BasicDBObject newBasicDBObject = new BasicDBObject().append("$set", new BasicDBObject().append("age", 5));
  95. dbCollection.update(new BasicDBObject().append("id", 1), newBasicDBObject);
  96. // 查询所有
  97. DBCursor cursor = dbCollection.find();
  98. System.out.println("更新后结果:");
  99. while (cursor.hasNext()) \{
  100. System.out.println(cursor.next());
  101. \}
  102. \} catch (Exception e) \{
  103. e.printStackTrace();
  104. \}
  105. \}
  106. public void del() \{
  107. try \{
  108. // 连接具体的数据库,参数是具体数据库的名称,若服务器中不存在,会自动创建
  109. //DB db = mongo.getDB("myMongo");
  110. // 操作具体的表,参数是具体表名称,若服务器上不存在,自动创建
  111. //DBCollection dbCollection = db.getCollection("user");
  112. BasicDBObject basObject = new BasicDBObject();
  113. basObject.put("id", 2);
  114. basObject.put("name", "小明");
  115. // remove一条记录
  116. dbCollection.remove(basObject);
  117. // remove all
  118. dbCollection.drop();
  119. // find all
  120. DBCursor cursor = dbCollection.find();
  121. System.out.println("----------删除后:");
  122. while (cursor.hasNext()) \{
  123. System.out.println(cursor.next());
  124. \}
  125. \} catch (Exception e) \{
  126. e.printStackTrace();
  127. \}
  128. \}

}

发表评论

表情:
评论列表 (有 0 条评论,557人围观)

还没有评论,来说两句吧...

相关阅读