Spring整合MongoDB详细讲解(maven项目)

pom.xml


  4.0.0

  SpringMongo
  SpringMongo
  0.0.1-SNAPSHOT
  jar

  SpringMongo
  http://maven.apache.org

  
    UTF-8
  

  
    
      junit
      junit
      4.9
      test
    
    
    

org.springframework
spring-core
4.1.7.RELEASE

 
commons-logging
commons-logging
 

 

org.springframework.data
spring-data-mongodb
1.7.2.RELEASE

  

applicationContext.xml













User.java

package com.springmongo.entity;
import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection="users")
public class User {
private String name;
private int age;
public User() {
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}

@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}

}

App.java

package com.springmongo;

import java.util.List;
import org.junit.Test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.data.domain.Sort.Order;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import com.springmongo.entity.User;

public class App 
{
private static MongoTemplate template;
static{
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        template = (MongoTemplate) applicationContext.getBean("mongoTemplate");
}
    @Test
    public void findAll(){
    List list = template.findAll(User.class);
    for (User user : list) {
System.out.println(user.toString());
}
    }
    @Test
    public void findAllSortByAge(){
    Query query=new Query();
    query.with(new Sort(new Order(Direction.DESC,"age")));
    List list = template.find(query,User.class);
    for (User user : list) {
System.out.println(user.toString());
}
    }
    @Test
    public void findByCondition(){
    List list = template.find(new Query(Criteria.where("name").is("小宝").
    andOperator(Criteria.where("age").is(301))),
    User.class);
    for (User user : list) {
System.out.println(user.toString());
}
    }
    @Test
    public void limit(){
    List list = template.find(new Query().skip(1).limit(3), User.class);
    for (User user : list) {
System.out.println(user.toString());
}
    }
    @Test
    public void count(){
    long count = template.count(new Query(Criteria.where("name").is("小宝")), User.class);
    System.out.println(count);
    }
    @Test
    public void update(){
    template.updateMulti(new Query(Criteria.where("age").gt(30)),
    new Update().set("name", "小宝"),
    User.class);
    findAll();
    }
    @Test
    public void insert(){
    User user=new User("小奇", 45);
    template.insert(user, "users");
    findAll();
    }
    @Test
    public void delete(){
    template.remove(new Query(Criteria.where("age").is(20)), User.class);
    findAll();
    }
}

你可能感兴趣的:(Spring整合MongoDB详细讲解(maven项目))