MongoDB学习笔记(三)使用Spring Data操作MongoDB

1.所需的包:

MongoDB学习笔记(三)使用Spring Data操作MongoDB_第1张图片


2.代码:
(1)配置文件一:bootstrap.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    <context:annotation-config/>
    <context:component-scan base-package="org.springframework.data.mongodb.examples.hello"/>
</beans>

(2)配置文件二:AppConfig.java(Spring通过配置一扫描注解得到)
@Configuration
public class AppConfig {
public @Bean MongoOperations mongoTemplate(Mongo mongo) {
MongoTemplate mongoTemplate = new MongoTemplate(mongo, "test");
return mongoTemplate;
}
//用于创建Mongo实例
public @Bean MongoFactoryBean mongo() {
MongoFactoryBean mongo = new MongoFactoryBean();
mongo.setHost("localhost");
return mongo;
}
public @Bean PersistenceExceptionTranslationPostProcessor persistenceExceptionTranslationPostProcessor() {return new PersistenceExceptionTranslationPostProcessor();}
}

(3)main函数
ConfigurableApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/bootstrap.xml");
        HelloMongo hello = context.getBean(HelloMongo.class);
        hello.run();
        System.out.println("DONE!");

(4)持久层:HelloMongo.java
@Repository
public class HelloMongo {
@Autowired
MongoOperations mongoOperations;
public void run() {
if (mongoOperations.collectionExists(Person.class)) {
mongoOperations.dropCollection(Person.class);
}
mongoOperations.createCollection(Person.class);
Person p = new Person("John", 39);
mongoOperations.insert(p);
List<Person> results = mongoOperations.findAll(Person.class);
System.out.println("Results: " + results);
}
}

(5)实体类:Person.java

类前使用@Document注解,id前使用@Id注解


你可能感兴趣的:(mongodb,数据存储,高性能)