Step-1
Add below dependency inside the pom.xml
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.2.0.RELEASE</version>
</dependency>
Step-2
Annotate the pojo used in mongodb as shown below
@Document(collection="person")
public class Person {
@Id
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Step-3
Define "mongoTemplate" as shown below
<!-- Factory bean that creates the Mongo instance -->
<bean id="mongo" class="org.springframework.data.mongodb.core.MongoFactoryBean">
<property name="host" value="localhost" />
</bean>
<!-- MongoTemplate for connecting and quering the documents in the database -->
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongo" ref="mongo" />
<constructor-arg name="databaseName" value="synergy-bank-app" />
</bean>
<!-- Use this post processor to translate any MongoExceptions thrown in @Repository annotated classes -->
<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
Step-4
autowired above mongoTemplate inside the dao layer.............
@Repository
public class PersonService {
@Autowired
private MongoTemplate mongoTemplate;
public static final String COLLECTION_NAME = "person";
public void addPerson(Person person) {
if (!mongoTemplate.collectionExists(Person.class)) {
mongoTemplate.createCollection(Person.class);
}
person.setId(UUID.randomUUID().toString());
mongoTemplate.insert(person, COLLECTION_NAME);
}
public List<Person> listPerson() {
return mongoTemplate.findAll(Person.class, COLLECTION_NAME);
}
public List<Person> findPersonByName(String name) {
Query query = new Query();
query.addCriteria(Criteria.where("name").is(name));
return mongoTemplate.find(query, Person.class, COLLECTION_NAME);
}
public void deletePerson(Person person) {
mongoTemplate.remove(person, COLLECTION_NAME);
}
public void updatePerson(Person person) {
mongoTemplate.insert(person, COLLECTION_NAME);
}
public static void main(String[] args) {
System.out.println(UUID.randomUUID().toString());
}
}
Command to start the mongodb
D:\mongodb\bin>mongod -d dbpath=c:\mongodb\data
dbpath= must be there to start the server
Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.
C:\Users\cool>d:
D:\>cd mongodb
D:\mongodb>cd bin
D:\mongodb\bin>mongo.exe
MongoDB shell version: 2.6.11-pre-
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
> show dbs;
admin (empty)
local 0.078GB
> use nagen
switched to db nagen
> db
nagen
> show dbs;
admin (empty)
local 0.078GB
> db
nagen
> show dbs;
admin (empty)
local 0.078GB
> show dbs;
admin (empty)
local 0.078GB
synergy-bank-app 0.078GB
> show dbs;
admin (empty)
local 0.078GB
synergy-bank-app 0.078GB
> show dbs;
admin (empty)
local 0.078GB
synergy-bank-app 0.078GB
> use synergy-bank-app
switched to db synergy-bank-app
>
No comments:
Post a Comment