org.springframework.boot spring-boot-starter-data-mongodb 3、使用mongoTemplate... 经过步骤2和步骤1之后,可以直接注入mongoTemplate了,不需要我们再显示的定义bean了。 ...mongoTemplate; @Test public void testFindAll() { List users = mongoTemplate.findAll...(1, 3); Query query = new Query(); query.with(pageable); List users = mongoTemplate.find...(Sort.Direction.ASC, "age").and(new Sort(Sort.Direction.DESC, "date"))); List users = mongoTemplate.find
二、概述 MongoTemplate是由org.springframework.data.mongodb.core包提供一个Java类。...此外,MongoTemplate是线程安全的,可以跨多个实例调用。...MongoTemplate类实现了接口MongoOperations,提供了流畅的API进行Query, Criteria, Update等基本操作,此外,也支持泛型的方法实现。...使用起来也非常方便,可直接将MongoTemplate作为类中的属性来使用。..."Jim"); mongoTemplate.save(user, "user"); 在上面的示例,save使用了update的语义,因为我们更新现存用户信息。
对象 @Autowired private MongoTemplate mongoTemplate; 5.2.4.1. ...Save 保存 User user = new User(); user.setName("Netkiller"); mongoTemplate.save(user, "user"); 更新数据...user = mongoTemplate.findOne(Query.query(Criteria.where("name").is("Jam")), User.class); user.setName...("Neo"); mongoTemplate.save(user, "user"); 5.2.4.2. ...Insert User user = new User(); user.setName("Neo"); mongoTemplate.insert(user, "user"); BSONObject
在具体操作 MongoDB 时可以通过 MongoTemplate 来进行操作,也可以通过 MongoRepository 来进行操作。...下面我们将介绍如何使用 MongoTemplate 来完成对 MongoDB 的 CRUD 操作。...五、使用 MongoTemplate 完成 CRUD MongoTemplate 基于 Spring 容器提供了一组对 MongoDB 操作的基本方法,只要将 MongoTemplate...1.注入 MongoTemplate 创建一个测试类,通过 @Autowired 将 MongoTemplate 进行注入,代码如下。...@Autowired private MongoTemplate mongoTemplate; 2.添加操作 在注入 MongoTemplate 后,我们即可在测试类中完成 CRUD 的操作
mongoTemplate; /** * 指定field查询 */ public void specialFieldQuery() { Query...上面是一个实际的case,从中可以知道一般的查询方式为: Criteria.where(xxx).is(xxx)来指定具体的查询条件 封装Query对象 new Query(criteria) 借助mongoTemplate...执行查询 mongoTemplate.findOne(query, resultType, collectionName) 其中findOne表示只获取一条满足条件的数据;find则会将所有满足条件的返回...查询总数 统计常用,这个主要利用的是mongoTemplate.count方法 /** * 查询总数 */ public void countQuery() { Query query =...new Query(Criteria.where("user").is("一灰灰blog")); long cnt = mongoTemplate.count(query, COLLECTION_NAME
按ID删除 mongoTemplate.remove(Query.query( Criteria.where("_id").is("documentId")), MyDocument.class);...按其他字段删除 mongoTemplate.remove(Query.query(Criteria.where("fieldName").is("fieldValue")), MyDocument.class...); 使用了 Spring Data MongoDB 提供的 mongoTemplate 对象来执行删除操作。
,就那么几种 //删除author为yinjihuan的数据 Query query = Query.query(Criteria.where("author").is("yinjihuan")); mongoTemplate.remove...如果实体类中没配集合名词,可在删除的时候单独指定article_info query = Query.query(Criteria.where("author").is("yinjihuan")); mongoTemplate.remove...(query, "article_info"); //删除集合,可传实体类,也可以传名称 mongoTemplate.dropCollection(Article.class); mongoTemplate.dropCollection...("article_info"); //删除数据库 mongoTemplate.getDb().dropDatabase(); 下面这2种适合要知道删除的数据有哪些的场景,比如记录删除的记录 //查询出符合条件的第一个结果...并将符合条件的数据删除,只会删除第一条 query = Query.query(Criteria.where("author").is("yinjihuan")); Article article = mongoTemplate.findAndRemove
使用mongoTemplate比直接定义接口不用写实现那种复杂点,但有时候在一些特殊操作上,可能使用mongoTemplate更容易些。...以下记录以下使用mongoTemplate简单开发示例,包含插入、修改、计算总数、分组统计、日期范围查询等。 mongodb.xml <constructor-arg name="mongoDbFactory...<em>mongoTemplate</em>; /* * (非 Javadoc) Title: insert Description: * * @param oe *
今天我们学习如何使用spring-data-mongodb来对集合中的数据进行修改操作 首先准备要练习的数据2条,实体类Article的定义请参考之前的文章spring-data-mongodb之MongoTemplate...添加数据 { "_id": ObjectId("57c43caed4c63d7e39b5dc48"), "title": "MongoTemplate的基本使用", "url"...").set("visitCount", 10); mongoTemplate.updateFirst(query, update, Article.class); 修改后结果如下,我们会发现第一条数据的...title还有visit_count被修改了 { "_id": ObjectId("57c43caed4c63d7e39b5dc48"), "title": "MongoTemplate...").set("visitCount", 10); mongoTemplate.updateMulti(query, update, Article.class); 修改后结果如下,我们会发现所有数据的
来源:猿天地 链接:http://cxytiandi.com/blog/detail/1733 今天我们来学习下MongoTemplate的添加数据操作,大神请忽略。。。...for (int i = 0; i < 10; i++) { Article article = new Article(); article.setTitle("MongoTemplate...Arrays.asList("java", "mongodb", "spring")); article.setVisitCount(0L); article.setAddTime(new Date()); mongoTemplate.save...ArrayList(10); for (int i = 0; i < 10; i++) { Article article = new Article(); article.setTitle("MongoTemplate...")); article.setVisitCount(0L); article.setAddTime(new Date()); articles.add(article); } mongoTemplate.insert
) @SpringBootTest public class PersonServiceTest { @Autowired private MongoTemplate mongoTemplate...mongoTemplate; /** * 自定义集合,插入文档 * @throws Exception */ @Test public void...(personList, "custom_person"); } } 2.6、存储文档 MongoTemplate提供了save()方法,用于存储文档。...mongoTemplate; /** * 自定义集合,存储文档 * @throws Exception */ @Test public void...@Service public class TransactionExample { @Autowired private MongoTemplate mongoTemplate;
接下来可以操作数据库了,接着上次,在测试类里写代码 @Autowired private MongoTemplate mongoTemplate; /** * 初始化文章信息 * @author yinjihuan...(query, "article_info"); //删除集合,可传实体类,也可以传名称 mongoTemplate.dropCollection(Article.class); mongoTemplate.dropCollection...title还有visit_count被修改了 { "_id": ObjectId("57c43caed4c63d7e39b5dc48"), "title": "MongoTemplate...").set("visitCount", 10); mongoTemplate.updateMulti(query, update, Article.class); 修改后结果如下,我们会发现所有数据的...title还有visit_count被修改了 { "_id": ObjectId("57c43caed4c63d7e39b5dc48"), "title": "MongoTemplate
root" password: "123456" database: "new_db" authentication-database: "admin" 3、配置注入的 MongoTemplate...您可以将 的WriteResultChecking属性设置为MongoTemplate以下值之一:EXCEPTION或NONE,分别用于抛出Exception或不执行任何操作。...*/ @Bean MongoTemplate mongoTemplate(MongoDatabaseFactory factory, MongoConverter converter)...{ MongoTemplate mongoTemplate = new MongoTemplate(factory, converter); mongoTemplate.setWriteResultChecking...(WriteResultChecking.EXCEPTION); return mongoTemplate; } } 4.
return mongoProperties.getDatabase(); } /** * 配置MongoClient带有mongo工厂设置 * 用于mongoTemplate...* * @return MongoTemplate */ @Bean public MongoTemplate mongoTemplate() {...MongoTemplate mongoTemplate = new MongoTemplate(mongoClient(), getDatabaseName()); MappingMongoConverter...mongoMapping = (MappingMongoConverter) mongoTemplate.getConverter(); mongoMapping.setCustomConversions...(addConverter()); mongoMapping.afterPropertiesSet(); return mongoTemplate; } }
mongoTemplate; 4、增删查改 查询 Criteria criteria = Criteria.where("key").is("测试"); Query query = Query.query...(criteria); MongoTest one = mongoTemplate.findOne(query, MongoTest.class); 分页查询 Query query = Query.query...5、集合操作 创建集合 mongoTemplate.createCollection("createCollection"); 删除集合 mongoTemplate.dropCollection("createCollection..."); 判断集合是否存在 boolean exists = mongoTemplate.collectionExists("createCollection"); 获取集合中数据总数 long count...= mongoTemplate.count(new Query(), "test");
mongoTemplate, String collName, List options, boolean ordered) { return doBathUpdate...(mongoTemplate.getCollection(collName), collName, options, ordered); } public static int bathUpdate(...mongoTemplate, Class options) { return doBathUpdate(mongoTemplate.getCollection...mongoTemplate, Class<?
String password; //...getters and setters } 保存 User user = new User("yinjihuan", "password123"); mongoTemplate.save...throws Exception { return new SimpleMongoDbFactory(new Mongo(), "database"); } public @Bean MongoTemplate...mongoTemplate() throws Exception { //remove _class MappingMongoConverter converter =...mongoTemplate = new MongoTemplate(mongoDbFactory(), converter); return mongoTemplate; } } 如果不是..." class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg name="mongoDbFactory
return new SimpleMongoDbFactory(mongoClient, "db1"); } @Bean @Primary public MongoTemplate mongoTemplate...MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory(), converter); return mongoTemplate...return new SimpleMongoDbFactory(mongoClient, "db2); } @Bean @Qualifier("mongoTemplate2") public MongoTemplate...MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory(), converter); return mongoTemplate...; } 配置完成后注入使用的地方使用Qualifier注入即可使用对应的数据源,比如: @Autowired @Qualifier("mongoTemplate2") private MongoTemplate
引言 springboot2.x已经集成了Mongodb了,我们可以很方便的使用mongoTemplate获取MongoDB中的数据,但有时候光是MongoTemplate还不够便捷,我们完全可以根据需要做一些简单的接口来简化日常开发操作...import org.springframework.data.mongodb.MongoDbFactory; import org.springframework.data.mongodb.core.MongoTemplate...功能描述: 根据自己创建的工厂初始化一个template * * @param * @return:org.springframework.data.mongodb.core.MongoTemplate...* @Author:wangcanfeng * @Date: 2019/3/21 14:23 */ @Bean @Primary public MongoTemplate...template() { return new MongoTemplate(factory()); } /** * 功能描述: 创建数据库名称对应的工厂,数据库名称可以通过配置文件导入
org.springframework.data.mongodb.core.MongoExceptionTranslator.translateExceptionIfPossible(MongoExceptionTranslator.java:138) at org.springframework.data.mongodb.core.MongoTemplate.potentiallyConvertRuntimeException...(MongoTemplate.java:2793) at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal...(MongoTemplate.java:2698) at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java...:2418) at org.springframework.data.mongodb.core.MongoTemplate.doFind(MongoTemplate.java:2401)...at org.springframework.data.mongodb.core.MongoTemplate.find(MongoTemplate.java:829)
领取专属 10元无门槛券
手把手带您无忧上云