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