您的位置:首页 > 数据库 > Mongodb

Spring Data MongoDB hello world example

2017-04-01 14:05 429 查看
spring data mongodb简单的例子 及项目源代码

连接mondodb数据库代码的配置类--原生态的

写道
package com.mkyong.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractMongoConfiguration;

import com.mongodb.Mongo;

@Configuration
public class SpringMongoConfig extends AbstractMongoConfiguration {

@Override
public String getDatabaseName() {
return "xuehan";
}

@Override
@Bean
public Mongo mongo() throws Exception {
return new Mongo("localhost");
}
}
 连接mondodb数据库代码的配置类--spring封装的

package com.mkyong.config;
 
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.MongoDbFactory;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
 
import com.mongodb.Mongo;
 
@Configuration
public class SpringMongoConfig {
 
public @Bean
MongoDbFactory mongoDbFactory() throws Exception {
return new SimpleMongoDbFactory(new Mongo(), "xuehan");
}
 
public @Bean
MongoTemplate mongoTemplate() throws Exception {
 
MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory());
 
return mongoTemplate;
 
}
 
 
 
}
上面的方法比较好用,因为spring已经对他进行了很好的封装
spring的配置文件

<?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"> 
<mongo:mongo host="localhost" port="27017" />
<mongo:db-factory dbname="xuehan" />

<bean id="mongoTemplate"
class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongoDbFactory" ref="mongoDbFactory" />
</bean>

</beans>

  不解释你懂的

package com.mkyong.user;

public class User {

String username;
String password;

public User(String username, String password) {
this.username = username;
this.password = password;
}

public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

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

}

 简单的增删改查

package com.mkyong.core;

import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.data.mongodb.core.MongoOperations;
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.mkyong.config.SpringMongoConfig;
import com.mkyong.user.User;

public class App {

public static void main(String[] args) {
// For XML 通过xml文件的形式得到mogodb操作类
// ApplicationContext ctx = new
// GenericXmlApplicationContext("mongo-config.xml");

// For Annotation 通过注解的形式得到mogodb操作类
ApplicationContext ctx = new AnnotationConfigApplicationContext(
SpringMongoConfig.class);

MongoOperations mongoOperation = (MongoOperations) ctx
.getBean("mongoTemplate");

User user = new User("xuehan", "password123");

// 把user保存到user集合中
mongoOperation.save(user, "users");

// find
User savedUser = mongoOperation.findOne(
new Query(Criteria.where("username").is("xuehan")), User.class,
"users");

System.out.println("savedUser : " + savedUser);

// update
mongoOperation.updateMulti(
new Query(Criteria.where("username").is("xuehan")),
Update.update("password", "new password"), "users");

// find
User updatedUser = mongoOperation.findOne(
new Query(Criteria.where("username").is("xuehan")), User.class,
"users");

System.out.println("updatedUser : " + updatedUser);

// delete
mongoOperation.remove(
new Query(Criteria.where("username").is("xuehan")), "users");

// List
List<User> listUser = mongoOperation.findAll(User.class, "users");
System.out.println("Number of user = " + listUser.size());

}

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: