二、yml配置org.springframework.boot spring-boot-starter-data-mongodb
此处我用的是本地的Mongodb,所有可以省略用户名和密码
spring: data: mongodb: uri: mongodb://localhost:27017/数据库名称
有用户名和密码的格式:其中name是用户名,pass是密码
spring: data: mongodb: uri=mongodb://name:pass@localhost:27017/数据库名称三、封装工具类
@Component public class MongoUtils { public static MongoUtils mongoUtils; @PostConstruct public void init() { mongoUtils = this; mongoUtils.mongoTemplate = this.mongoTemplate; } @Autowired private MongoTemplate mongoTemplate; }下面的方法是自己封装的一些基础增删改查,直接写在上面定义的工具类即可(代码写的不好,大佬勿喷)
public static MapsaveMap(Map map,String collectionName){ if(map == null || map.size() < 1 || StringUtils.isBlank(collectionName)){ return null; } return mongoUtils.mongoTemplate.insert(map, collectionName); }
public static Collection
public static void removeById(String id, String collectionName) { if(StringUtils.isBlank(id) || StringUtils.isBlank(collectionName)){ return; } Query query = Query.query(Criteria.where("_id").is(id)); mongoUtils.mongoTemplate.remove(query, collectionName); }
public static void remove(Query query, String collectionName) { if(query == null || StringUtils.isBlank(collectionName)){ return; } mongoUtils.mongoTemplate.remove(query, collectionName); }
public static Object findById(String id, String collectionName) { if(StringUtils.isBlank(collectionName) || StringUtils.isBlank(id)){ return new ArrayList<>(); } return mongoUtils.mongoTemplate.findById(id, Object.class, collectionName); }
public static List extends Object> find(Query query, String collectionName) { if(StringUtils.isBlank(collectionName) || query == null){ return new ArrayList<>(); } return mongoUtils.mongoTemplate.find(query, Object.class, collectionName); }
public static Page
public static Map四、调用updateMulti(Query query, Map map, String collectionName) { if(map == null || map.size() < 1 || query == null || StringUtils.isBlank(collectionName)){ return new HashMap<>(); } Update update = new Update(); for (String key : map.keySet()){ update.set(key, map.get(key)); } Map newMap = (Map )mongoUtils.mongoTemplate.updateMulti(query, update, collectionName); return newMap; }
方法调用都差不多,只举例说明一下
// 参数一:保存的数据,参数二:集合名称(类似于表的意思) MongoUtils.saveMap(map,"paragraph");
// 参数一:query(条件),参数二:集合名称(类似于表的意思) MongoUtils.updateMulti(new Query().addCriteria(Criteria.where("_id").is(paragraphInfoVo.get_id())), map, "paragraph");
因为我的需求没法创建实体 *** 作,所以代码里都是map和list的 *** 作
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)