mongodb基本的增删改查

ゝ一世哀愁。 2022-02-16 12:53 502阅读 0赞

一、基本的增删改查:

1、pom:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.wtyy</groupId>
  5. <artifactId>mongodbdemo</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. <parent>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-parent</artifactId>
  10. <version>1.4.1.RELEASE</version>
  11. </parent>
  12. <dependencies>
  13. <dependency>
  14. <groupId>org.springframework.boot</groupId>
  15. <artifactId>spring-boot-starter-web</artifactId>
  16. </dependency>
  17. <dependency>
  18. <groupId>org.mongodb</groupId>
  19. <artifactId>mongodb-driver</artifactId>
  20. <version>3.4.1</version>
  21. </dependency>
  22. <dependency>
  23. <groupId>org.mongodb</groupId>
  24. <artifactId>bson</artifactId>
  25. <version>3.4.1</version>
  26. </dependency>
  27. </dependencies>
  28. </project>

2、application.properties配置文件:

  1. server.port = 8080
  2. server.context-path = /wechat

3、连接util:这里可以连接多个服务,以逗号分隔,如:

String adressList = “localhost:27017,xxx.xxx.xx:port”;

  1. package com.wtyy.util;
  2. import java.net.UnknownHostException;
  3. import java.util.ArrayList;
  4. import org.slf4j.Logger;
  5. import org.slf4j.LoggerFactory;
  6. import com.mongodb.DB;
  7. import com.mongodb.MongoClient;
  8. import com.mongodb.ReadPreference;
  9. import com.mongodb.ServerAddress;
  10. import com.mongodb.WriteConcern;
  11. /**
  12. * mongodb管理器,提供DB对象。
  13. */
  14. public class MongodbManager {
  15. private static final Logger LOGGER = LoggerFactory.getLogger("mongodbManager");
  16. private static MongoClient client;
  17. private static String dbnameTL = "wechatdb";
  18. static {
  19. String adressList = "localhost:27017";
  20. try {
  21. String[] addresses = adressList.split(",");
  22. ArrayList<ServerAddress> serverAddressList = new ArrayList<ServerAddress>();
  23. for(int j=0; j < addresses.length; j++){
  24. String[] address = addresses[j].split(":");
  25. ServerAddress mongoAddress = new ServerAddress(address[0], Integer.parseInt(address[1]));
  26. serverAddressList.add(mongoAddress);
  27. }
  28. client = new MongoClient(serverAddressList);
  29. client.setReadPreference(ReadPreference.primaryPreferred());
  30. LOGGER.info("读写分离未启动");
  31. client.setWriteConcern(WriteConcern.SAFE);
  32. LOGGER.info("写入安全模式启动");
  33. } catch (Exception e) {
  34. LOGGER.error(e.getMessage(), e);
  35. }
  36. }
  37. public static final DB DB_TL = client.getDB(dbnameTL);
  38. }

4、dto:

  1. package com.wtyy.dto;
  2. import java.io.Serializable;
  3. public class WechatGroup implements Serializable{
  4. /**
  5. *
  6. */
  7. private static final long serialVersionUID = 3439169789270606886L;
  8. private String groupId;
  9. private String groupName;
  10. @Override
  11. public String toString() {
  12. return "WechatGroup [groupId=" + groupId + ", groupName=" + groupName
  13. + "]";
  14. }
  15. }

5、dao:

  1. package com.wtyy.dao;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import java.util.Map;
  5. import org.bson.Document;
  6. import org.springframework.stereotype.Repository;
  7. import com.mongodb.BasicDBObject;
  8. import com.mongodb.DBCollection;
  9. import com.mongodb.DBCursor;
  10. import com.mongodb.DBObject;
  11. import com.wtyy.dto.WechatGroup;
  12. import com.wtyy.util.MongodbManager;
  13. @Repository("wechatDao")
  14. public class WechatDao {
  15. private String collection = "wechat";
  16. //添加群
  17. public void addGroup(WechatGroup wechatGroup){
  18. DBCollection dbCollection = MongodbManager.DB_TL.getCollection(collection);
  19. DBObject documents = new BasicDBObject();
  20. documents.put("groupId", wechatGroup.getGroupId());
  21. documents.put("groupName", wechatGroup.getGroupName());
  22. dbCollection.insert(documents );
  23. }
  24. //通过群名称获取群id
  25. public String getWechatGroupIdByName(String wechatGroupName){
  26. String name = null;
  27. try{
  28. DBCollection dbCollection = MongodbManager.DB_TL.getCollection(collection);
  29. BasicDBObject cond = new BasicDBObject();
  30. cond.put("groupName", wechatGroupName);
  31. DBCursor dbCursor = dbCollection.find(cond);
  32. while(dbCursor.hasNext()){
  33. Map map = (Map)dbCursor.next();
  34. return (String) map.get("groupId");
  35. }
  36. return name;
  37. }catch (Exception e) {
  38. // TODO: handle exception
  39. }
  40. return name;
  41. }
  42. /**
  43. * 查询所有
  44. */
  45. public List<WechatGroup> getAll() {
  46. List<WechatGroup> list = new ArrayList<>();
  47. try{
  48. DBCollection dbCollection = MongodbManager.DB_TL.getCollection(collection);
  49. BasicDBObject cond = new BasicDBObject();
  50. DBCursor dbCursor = dbCollection.find(cond);
  51. while(dbCursor.hasNext()){
  52. Map map = (Map)dbCursor.next();
  53. WechatGroup wechatGroup = new WechatGroup();
  54. wechatGroup.setGroupId((String) map.get("groupId"));
  55. wechatGroup.setGroupName((String) map.get("groupName"));
  56. list.add(wechatGroup);
  57. }
  58. return list;
  59. }catch (Exception e) {
  60. // TODO: handle exception
  61. }
  62. return list;
  63. }
  64. /**
  65. * 修改
  66. */
  67. public void updateNameById(WechatGroup wechatGroup){
  68. List<WechatGroup> list = new ArrayList<>();
  69. try{
  70. DBCollection dbCollection = MongodbManager.DB_TL.getCollection(collection);
  71. //查询条件
  72. BasicDBObject query = new BasicDBObject();
  73. query.put("groupId", wechatGroup.getGroupId());
  74. BasicDBObject updateObj = new BasicDBObject();
  75. BasicDBObject newDocument = new BasicDBObject();
  76. newDocument.put("groupName", wechatGroup.getGroupName());
  77. updateObj.put("$set", newDocument);
  78. dbCollection.update(query, updateObj);
  79. }catch (Exception e) {
  80. // TODO: handle exception
  81. }
  82. }
  83. /**
  84. * 删除
  85. */
  86. public void deleteById(String groupId){
  87. try{
  88. DBCollection dbCollection = MongodbManager.DB_TL.getCollection(collection);
  89. //查询条件
  90. BasicDBObject query = new BasicDBObject();
  91. query.put("groupId", groupId);
  92. dbCollection.remove(query);
  93. }catch (Exception e) {
  94. // TODO: handle exception
  95. }
  96. }
  97. }

6、测试:

  1. package com.wtyy.test;
  2. import java.util.List;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RestController;
  6. import com.wtyy.dao.WechatDao;
  7. import com.wtyy.dto.WechatGroup;
  8. @RestController
  9. @RequestMapping("/test")
  10. public class Test {
  11. @Autowired
  12. private WechatDao wechatDao;
  13. @RequestMapping("/add")
  14. public void add(String groupId,String groupName){
  15. WechatGroup group = new WechatGroup();
  16. group.setGroupId(groupId);
  17. group.setGroupName(groupName);
  18. wechatDao.addGroup(group);
  19. }
  20. @RequestMapping("/get")
  21. public String get(String groupName){
  22. return wechatDao.getWechatGroupIdByName(groupName);
  23. }
  24. @RequestMapping("/getAll")
  25. public List<WechatGroup> getAll(){
  26. return wechatDao.getAll();
  27. }
  28. @RequestMapping("/update")
  29. public void update(WechatGroup wechatGroup ){
  30. wechatDao.updateNameById(wechatGroup);
  31. }
  32. @RequestMapping("/delete")
  33. public void delete( String groupId){
  34. wechatDao.deleteById(groupId);
  35. }
  36. }

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dfdF95X3k_size_16_color_FFFFFF_t_70

二、

发表评论

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

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

相关阅读