Spring Data MongoDB hello world example

来源:互联网 发布:零濡鸦之巫女剧情知乎 编辑:程序博客网 时间:2024/05/06 12:11

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; @Configurationpublic class SpringMongoConfig { public @BeanMongoDbFactory mongoDbFactory() throws Exception {return new SimpleMongoDbFactory(new Mongo(), "xuehan");} public @BeanMongoTemplate 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;} @Overridepublic 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");// findUser savedUser = mongoOperation.findOne(new Query(Criteria.where("username").is("xuehan")), User.class,"users");System.out.println("savedUser : " + savedUser);// updatemongoOperation.updateMulti(new Query(Criteria.where("username").is("xuehan")),Update.update("password", "new password"), "users");// findUser updatedUser = mongoOperation.findOne(new Query(Criteria.where("username").is("xuehan")), User.class,"users");System.out.println("updatedUser : " + updatedUser);// deletemongoOperation.remove(new Query(Criteria.where("username").is("xuehan")), "users");// ListList<User> listUser = mongoOperation.findAll(User.class, "users");System.out.println("Number of user = " + listUser.size());}}
 
0 0
原创粉丝点击