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

标签: MongoDB数据存储高性能
1733人阅读 评论(0) 收藏 举报
分类:

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注解


1
0

猜你在找
【直播】计算机视觉原理及实战—屈教授
【套餐】深度学习入门视频课程—唐宇迪
【套餐】Hadoop生态系统零基础入门--侯勇蛟
【套餐】嵌入式Linux C编程基础--朱有鹏
【套餐】2017软考系统集成项目——任铄
【套餐】Android 5.x顶级视频课程——李宁
【直播】广义线性模型及其应用——李科
【直播】从0到1 区块链的概念到实践
【直播】机器学习之凸优化——马博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:361774次
    • 积分:4541
    • 等级:
    • 排名:第6445名
    • 原创:129篇
    • 转载:20篇
    • 译文:1篇
    • 评论:40条
    博客专栏