springboot的版本1.5.17.RELEASE。html
在resources下的application.properties中加入以下內容java
spring.data.mongodb.host=localhost spring.data.mongodb.database=test spring.data.mongodb.port=27017
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
通過步驟2和步驟1以後,能夠直接注入mongoTemplate了,不須要咱們再顯示的定義bean了。spring
直接上代碼了,以下所示,包含了保存、查詢、分頁查詢、有條件的分頁查詢。mongodb
import java.util.Date; import java.util.List; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Query; import com.mjduan.springbootmongodb.domain.User; /** * @author dmj1161859184@126.com 2018-11-27 21:19 * @version 1.0 * @since 1.0 */ @Slf4j public class MongoTemplateTest extends SpringbootMongodbApplicationTests { /** * properties中設置了屬性後,就會自動配置MontoTemplate */ @Autowired private MongoTemplate mongoTemplate; @Test public void testFindAll() { List<User> users = mongoTemplate.findAll(User.class); System.out.println(users); } @Test public void testAddUser() { User user = new User(); user.setAge(9); user.setAddress("address"); user.setUsername("crupper"); user.setDate(new Date()); mongoTemplate.save(user); } @Test public void testPage() { Pageable pageable = new PageRequest(1, 3); Query query = new Query(); query.with(pageable); List<User> users = mongoTemplate.find(query, User.class); log.info(users.toString()); } @Test public void testPageSort() { Pageable pageable = new PageRequest(1, 3); Query query = new Query(); query.with(pageable); query.with(new Sort(Sort.Direction.ASC, "age")); List<User> users = mongoTemplate.find(query, User.class); log.info(users.toString()); } @Test public void testPageSortMulti() { Pageable pageable = new PageRequest(0, 6); Query query = new Query(); query.with(pageable); query.with(new Sort(Sort.Direction.ASC, "age").and(new Sort(Sort.Direction.DESC, "date"))); List<User> users = mongoTemplate.find(query, User.class); log.info(users.toString()); } @Test public void testCount() { Query query = new Query(); query.with(new Sort(Sort.Direction.ASC, "age").and(new Sort(Sort.Direction.DESC, "date"))); long count = mongoTemplate.count(query, User.class); log.info(count + ""); } }
SpringbootMongodbApplicationTests以下所示:springboot
import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest public class SpringbootMongodbApplicationTests { @Test public void contextLoads() { } }