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");
}
}
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());
}
}