- 浏览: 753014 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lgh1992314:
a offset: 26b offset: 24c offse ...
java jvm字节占用空间分析 -
ls0609:
语音实现在线听书http://blog.csdn.net/ls ...
Android 语音输入API使用 -
wangli61289:
http://viralpatel-net-tutorials ...
Android 语音输入API使用 -
zxjlwt:
学习了素人派http://surenpi.com
velocity宏加载顺序 -
tt5753:
谢啦........
Lucene的IndexWriter初始化时的LockObtainFailedException的解决方法
下面讲解如何使用spring-data-mongdb来对mongdb进行增删改查的操作
你需要的工具:
- Spring Data MongoDB – 1.0.0.M2
- Spring Core – 3.0.5.RELEASE
- Java Mongo Driver – 2.5.2
- Eclipse – 3.6
- JDK – 1.6
- Maven – 3.0.3
1.工程目录结构
2.依赖
你需要在pom.xml里面添加如下依赖
<project ...>
<repositories> <repository> <id>spring-milestone</id> <name>Spring Maven MILESTONE Repository</name> <url>http://maven.springframework.org/milestone</url> </repository> </repositories> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.2</version> <scope>test</scope> </dependency> <!-- Spring framework --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.0.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.0.5.RELEASE</version> </dependency> <!-- mongodb java driver --> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>2.5.2</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.0.0.M2</version> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>2.2</version> </dependency> </dependencies> </project>
3.spring的配置
可以通过两种方式来配置spring data来使用mongodb
Annotation
需要在java文件中声明spring的mongodb注解
package com.mkyong.config;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.document.mongodb.MongoTemplate; import org.springframework.data.document.mongodb.config.AbstractMongoConfiguration; import com.mongodb.Mongo; /** * Spring MongoDB configuration file * */ @Configuration public class SpringMongoConfig extends AbstractMongoConfiguration { @Override public @Bean Mongo mongo() throws Exception { return new Mongo("localhost"); } @Override public @Bean MongoTemplate mongoTemplate() throws Exception { return new MongoTemplate(mongo(),"yourdb","yourCollection"); } }
然后在main函数中就可以通过下面方式来获取mongodbtemplate
ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringMongoConfig.class); ApplicationContext ctx = new GenericXmlApplicationContext("mongo-config.xml");
XML
通过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" xmlns:mongo="http://www.springframework.org/schema/data/mongo" xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- Default bean name is 'mongo' --> <mongo:mongo host="localhost" port="27017" /> <bean id="mongoTemplate" class="org.springframework.data.document.mongodb.MongoTemplate"> <constructor-arg ref="mongo" /> <constructor-arg name="databaseName" value="yourdb" /> <constructor-arg name="defaultCollectionName" value="yourCollection" /> </bean> <!-- To translate any MongoExceptions thrown in @Repository annotated classes --> <context:annotation-config /> </beans>
ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringMongoConfig.class); ApplicationContext ctx = new GenericXmlApplicationContext("mongo-config.xml");
4.定义用户模型
package com.mkyong.user;
public class User { private String id; private String firstname; private String lastname; private int age; //getter and setter methods }
5.CRUD操作
package com.mkyong.core;
import java.util.List; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.support.GenericXmlApplicationContext; import org.springframework.data.document.mongodb.MongoOperations; import org.springframework.data.document.mongodb.query.Criteria; import org.springframework.data.document.mongodb.query.Query; import org.springframework.data.document.mongodb.query.Update; import com.mkyong.config.SpringMongoConfig; import com.mkyong.user.User; public class App { public static void main( String[] args ) { //For Annotation ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringMongoConfig.class); //For XML //ApplicationContext ctx = new GenericXmlApplicationContext("mongo-config.xml"); MongoOperations mongoOperation = (MongoOperations)ctx.getBean("mongoTemplate"); User user = new User("1001", "yong", "mook kim", 30); //save mongoOperation.save("userprofile",user); //find User savedUser = mongoOperation.findOne("userprofile", new Query(Criteria.where("id").is("1001")), User.class); System.out.println("savedUser : " + savedUser); //update mongoOperation.updateFirst("userprofile", new Query(Criteria.where("firstname").is("yong")), Update.update("lastname", "new lastname")); //find User updatedUser = mongoOperation.findOne("userprofile", new Query(Criteria.where("id").is("1001")), User.class); System.out.println("updatedUser : " + updatedUser); //delete mongoOperation.remove("userprofile", new Query(Criteria.where("id").is("1001")), User.class); //List List<User> listUser = mongoOperation.getCollection("userprofile", User.class); System.out.println("Number of user = " + listUser.size()); } }
输出:
savedUser : User [id=1001, firstname=yong, lastname=mook kim, age=30] updatedUser : User [id=1001, firstname=yong, lastname=new lastname, age=30] Number of user = 0
参考:http://www.mkyong.com/mongodb/spring-data-mongodb-hello-world-example/
发表评论
-
对字符串进行验证之前先进行规范化
2013-09-17 23:18 13947对字符串进行验证之前先进行规范化 应用系统中经常对字 ... -
在Apache Tomcat 7设置redis作为session store
2013-08-21 17:00 1989原文:http://www.javaarch.ne ... -
使用telnet连接到基于spring的应用上执行容器中的bean的任意方法
2013-08-08 09:17 1469使用telnet连接到基于spring的应用上执行容器中 ... -
jdk7和8的一些新特性介绍
2013-07-06 16:07 10109更多ppt内容请查看:htt ... -
Lucene的IndexWriter初始化时的LockObtainFailedException的解决方法
2013-06-28 21:35 11798原文链接: http://www.javaarch.net ... -
java对于接口和抽象类的代理实现,不需要有具体实现类
2013-06-12 09:50 2952原文链接:http://www.javaarch.net/j ... -
Excel2007格式分析和XML解析
2013-06-07 09:56 10727在物料清单采购中,用到excel上传文件解析功能,不 ... -
Java EE 7中对WebSocket 1.0的支持
2013-06-05 09:27 3836原文链接:http://www.javaarch.n ... -
java QRCode生成示例
2013-06-05 09:26 1509原文链接:http://www.javaarch.n ... -
Spring Security Logout
2013-06-03 00:05 2367原文地址:http://www.javaarch.net/ ... -
Spring Security Basic Authentication
2013-06-03 00:04 1737原文地址:http://www.javaarch.net/ ... -
Spring Security Form Login
2013-06-02 16:16 2146原文地址:http://www.javaarch.net/j ... -
spring3 的restful API RequestMapping介绍
2013-06-02 14:53 1152原文链接:http://www.javaarch.net/j ... -
Java Web使用swfobject调用flex图表
2013-05-28 19:05 1120Java Web使用swfobject调用 ... -
spring使用PropertyPlaceholderConfigurer扩展来满足不同环境的参数配置
2013-05-21 15:57 3330spring使用PropertyPlaceholderCon ... -
java国际化
2013-05-20 20:57 4471java国际化 本文来自:http://www.j ... -
RSS feeds with Java
2013-05-20 20:52 1213RSS feeds with Java 原文来自:htt ... -
使用ibatis将数据库从oracle迁移到mysql的几个修改点
2013-04-29 10:40 1674我们项目在公司的大战略下需要从oracle ... -
线上机器jvm dump分析脚本
2013-04-19 10:48 2904#!/bin/sh DUMP_PIDS=`p ... -
spring3学习入门示例工程
2013-04-18 09:28 11251. github地址 https://github ...
相关推荐
本节我们将探讨SpringData的概述以及如何通过一个简单的"HelloWorld"示例来入门。 SpringData的核心目标是通过减少样板代码,使数据访问更加简单、高效。它支持多种数据存储技术,包括JPA(Java Persistence API)...
#### 三、SpringData JPA HelloWorld 示例 ##### 1. 环境搭建 为了使用 SpringData JPA,首先需要搭建合适的开发环境。这包括: - **下载 SpringData Commons 和 SpringData JPA 发布包**: - **SpringData ...
2. **Hello World示例** "Hello World"是所有编程语言学习的起点,同样适用于Spring Boot。在Spring Boot中,我们通常通过创建一个简单的RESTful API来实现这个功能。首先,我们需要创建一个新的Maven或Gradle项目...
在"SpringMongoDB-HelloWorld-Example"这个示例中,我们将学习如何配置Spring项目以使用MongoDB,并创建第一个简单的应用。 1. **配置MongoDB连接**:在Spring中,我们需要配置MongoDB的数据源,这通常通过`...
Spring Boot 2.0:云收藏(Spring Boot 2.0实战开源项目)示例代码 :Spring Boot 2.0 Hello World示例 :Spring Boot定制横幅示例 docker:使用Docker部署Spring Boot示例 :Docker编写+ Spring Boot + Nginx + ...
1. **spring-boot-helloWorld**:这是Spring Boot的基础入门示例,它展示了如何创建一个简单的“Hello, World!”应用程序。在该模块中,你可以学习到如何配置Spring Boot的主启动类,以及如何利用@SpringBoot...
在"spring-hello"这个子文件中,很可能是演示了Spring框架的基本使用,例如创建一个简单的Hello World应用程序,展示如何配置和启动Spring容器,以及如何定义和注入Bean。这样的示例对于初学者来说是非常有帮助的,...
同时,Spring Data还支持NoSQL数据库,如MongoDB。 Spring Security是安全相关的模块,提供了认证和授权的功能。它可以控制哪些用户可以访问哪些资源,支持角色、权限等高级安全策略。 在压缩包中,可能包含了以下...
在 SpringBoot-Learning 压缩包中,你可能找到包含这些知识点的示例代码,从基础的“Hello World”到复杂的微服务配置,逐步深入学习 Spring Boot 的使用。通过实践这些代码,你可以更好地理解 Spring Boot 的工作...
开发者可以通过MongoTemplate或Spring Data MongoDB来操作MongoDB,实现数据的增删改查。 4. **RabbitMQ**:RabbitMQ是基于AMQP协议的消息中间件,用于解耦应用程序。Spring Boot整合RabbitMQ,可以实现生产者发送...
在本文示例中,我们仅使用 `controller` 包编写一个简单的 "Hello World" 示例。在 `controller` 包下创建名为 `nana` 的类,并添加如下代码: ```java package com.example.controller; import org.spring...
3. **数据访问**:"spring-boot-sample-data-jpa"和"spring-boot-sample-data-mongodb"分别演示了如何与关系型数据库(如MySQL、PostgreSQL)和非关系型数据库(如MongoDB)集成,使用JPA和Spring Data进行数据操作...
在项目中的"helloworld"文件,可能是一个启动程序或者基础的Hello World示例,用于展示如何在SpringBoot应用中编写和运行简单的代码。通常,这个文件会包含一个主类,该类使用@SpringBootApplication注解,这标志着...
2. **HelloWorld 示例** - 在 SpringBoot 中,通常会创建一个简单的 RESTful API 来展示 "Hello, World!",这有助于理解 MVC(模型-视图-控制器)架构。 - 创建一个 `Controller` 类,定义一个返回 "Hello, World!...
#### Spring Boot JPA Thymeleaf 增删改查示例 - **实体类定义**:定义一个简单的实体类(例如 `User`),并使用 JPA 的注解进行实体映射。 ```java @Entity public class User { @Id @GeneratedValue(strategy...
- 实践Spring Boot,创建第一个“Hello, World!”应用。 - 深入研究Spring Data和Spring Security,了解如何在实际项目中应用它们。 - 通过实战项目来巩固所学知识,例如构建一个完整的Web应用或后台服务。 以上...
入门示例中,我们常常会创建一个简单的“Hello, World”应用,使用 `@RestController` 和 `@GetMapping` 注解来映射 HTTP 请求并返回响应。 ```java @RestController public class HelloWorldController { @...
- 添加 `spring-boot-starter-data-mongodb` 依赖。 - 使用 `@Repository` 定义 Repository 接口。 2. **示例代码:** ```java @Repository public interface CustomerRepository extends MongoRepository, ...
2. **POM.xml**: Maven或Gradle构建文件,定义了项目依赖,如Spring Boot Starter WebFlux、Spring Data Reactive MongoDB等。 3. **启动类**: 启动应用的主类,包含`main`方法,通常使用`SpringApplication.run`...
- **代码示例**:在上面的部分内容中,提到了如何使用Spring来创建一个简单的Hello World程序。具体步骤包括: - 创建Spring的配置文件(如`beans.xml`)。 - 在配置文件中定义Bean及其属性。 - 使用`...