您好,欢迎访问一九零五行业门户网

Mongodb整合Spring示例

mongodb整合spring 参照spring官方文档中spring-data-mongodb对mongodb的操作,做了一个简单的示例,以防遗忘。 文档地址:http://docs.spring.io/spring-data/data-mongodb/docs/1.4.0.release/reference/html/ 相关软件版本: maven-3.1.1 mongodb-2.4.8ec
mongodb整合spring参照spring官方文档中spring-data-mongodb对mongodb的操作,做了一个简单的示例,以防遗忘。
文档地址:http://docs.spring.io/spring-data/data-mongodb/docs/1.4.0.release/reference/html/
相关软件版本:maven-3.1.1 mongodb-2.4.8eclipse在eclipse中创建一个maven项目,pom.xml内容如下: 4.0.0 lee.forum forum1.0.1 0.0.1-snapshot war utf-8 junit junit 4.8.2 test org.springframework.data spring-data-mongodb 1.3.4.release org.springframework spring-core 3.2.8.release org.springframework spring-beans 3.2.8.release org.springframework spring-tx 3.2.8.release org.springframework spring-context 3.2.8.release org.springframework spring-expression 3.2.8.release org.springframework spring-test 3.2.8.release org.mongodb mongo-java-driver 2.11.4 org.slf4j slf4j-log4j12 1.7.1 spring-milestone spring maven milestone repository http://repo.spring.io/libs-milestone
spring配置文件安如下:
forum为数据库名称,如果不存在则会自动创建。lee.forum.core.dao为dao的所在包名,这个例子的dao继承了mongorepository,只需要按照规则写接口就行了。后面将会看到。实体类:package lee.forum.core.entity;import java.util.date;import org.springframework.data.annotation.id;import org.springframework.data.mongodb.core.mapping.document;@documentpublic class user { @id private string userid; private string username; private string email; private string sex; private date birthday; public string getuserid() { return userid; } public void setuserid(string userid) { this.userid = userid; } public string getusername() { return username; } public void setusername(string username) { this.username = username; } public string getemail() { return email; } public void setemail(string email) { this.email = email; } public string getsex() { return sex; } public void setsex(string sex) { this.sex = sex; } public date getbirthday() { return birthday; } public void setbirthday(date birthday) { this.birthday = birthday; }}
dao接口:package lee.forum.core.dao;import java.util.list;import lee.forum.core.entity.user;import org.springframework.data.mongodb.repository.mongorepository;public interface userrepository extends mongorepository { public list findbyemail(string email); public user findonebyuserid(string userid);}
这个接口不需要实现类,但是方法的名称必须按照spring的规则来写。这里只写了查询,更详细的用法请参考文档。find表示查询,by后面是查询的条件,email是user的属性,这样spring才知道你要做什么。
测试类:package lee.forum.test.dao;import lee.forum.core.dao.userrepository;import lee.forum.core.entity.user;import org.junit.test;import org.junit.runner.runwith;import org.springframework.beans.factory.annotation.autowired;import org.springframework.test.context.contextconfiguration;import org.springframework.test.context.junit4.springjunit4classrunner;@runwith(springjunit4classrunner.class)@contextconfiguration(locations = { classpath:applicationcontext-data.xml })public class respositorytest { @autowired private userrepository userrepository; @test public void findall() { for (user user : userrepository.findall()) { system.out.println(user.getemail()); } } @test public void findbyemail() { for (user user : userrepository.findbyemail(libinsbox@137.com)) { system.out.println(user.getusername()); } } @test public void findbyid() { system.out.println(userrepository.findonebyuserid(libinsbox@138.com) .getusername()); }}
其它类似信息

推荐信息