SpringBoot之mongoTemplate的使用

  springboot的版本1.5.17.RELEASE。
  
  1、mongo的IP和端口
  
  在resources下的application.properties中加入如下内容
  
  spring.data.mongodb.host=localhost
  
  spring.data.mongodb.database=test
  
  spring.data.mongodb.port=27017
  
  2、引入springboot mongo依赖
  
  <dependency>
  
  <groupId>org.springframework.boot</groupId>
  
  <artifactId>spring-boot-starter-data-mongodb</artifactId>
  
  </dependency>
  
  3、使用mongoTemplate
  
  经过步骤2和步骤1之后,可以直接注入mongoTemplate了,不需要我们再显示的定义bean了。
  
  直接上代码了,如下所示,包含了保存、查询、分页查询、有条件的分页查询。
  
  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 [email protected] 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(www.fengshen157.com/ ) {
  
  User user = new User();
  
  user.setAge(9);
  
  user.setAddress("address");
  
  user.setUsername("crupper");
  
  user.setDate(new Date(www.mcyllpt.com));
  
  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(www.michenggw.com) {
  
  Pageable pageable = new PageRequest(0, 6);
  
  Query query = new Query(www.lezongyule.com);
  
  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如下所示:
  
  import org.junit.Test;
  
  import org.junit.runner.RunWith;
  
  import org.springframework.www.dasheng178.com boot.test.context.SpringBootTest;
  
  import org.springframework.test.context.junit4.SpringRunner;
  
  @RunWith(SpringRunner.class)
  
  @SpringBootTest
  
  public class SpringbootMongodbApplicationTests {
  
  @Test
  
  public void contextLoads() {

猜你喜欢

转载自www.cnblogs.com/qwangxiao/p/10380921.html
今日推荐