近期装了个mongodb,试试。发现很多网上找来的列子不对自己。
首先工程以来的jar包
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.0.3.RELEASE</version>
</dependency>
简单的配置文件
<?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="10.211.55.10" port="27017"/>
<bean id="mongoOps" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongo"/>
<constructor-arg name="databaseName" value="test"/>
</bean>
</beans>
因为倒入了他自己的xsd文件,所以可以看下mongo的内容实际上是MongoFactoryBean
<xsd:element name="mongo" type="mongoType">
<xsd:annotation>
<xsd:documentation source="org.springframework.data.mongodb.core.core.MongoFactoryBean"><![CDATA[
Defines a Mongo instance used for accessing MongoDB'.
]]></xsd:documentation>
<xsd:appinfo>
<tool:annotation>
<tool:exports type="com.mongodb.Mongo"/>
</tool:annotation>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
然后看下MongoTemplate类的构造函数,就清楚了。
public MongoTemplate(Mongo mongo, String databaseName) {
this(new SimpleMongoDbFactory(mongo, databaseName), null);
}
测试类的基类;
import org.apache.log4j.Logger;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* User: zhangtan
* Date: 2012-07-28
* Time: 11:14
*/
public class BaseTestCase {
protected Logger log = Logger.getLogger(this.getClass());
protected static ApplicationContext appContext;
@BeforeClass
public static void setUp() throws Exception {
try {
long start = System.currentTimeMillis();
System.out.println("开始加载配置文件");
appContext = new ClassPathXmlApplicationContext(new String[]{"spring-config.xml"});
System.out.println("配置文件加载结束" + (System.currentTimeMillis() - start));
} catch (Exception e) {
e.printStackTrace();
}
}
protected boolean setProtected() {
return false;
}
@Before
public void autoSetBean() {
appContext.getAutowireCapableBeanFactory().autowireBeanProperties(this, DefaultListableBeanFactory.AUTOWIRE_BY_NAME, false);
}
@AfterClass
public static void tearDown() throws Exception {
}
}
增删改查基本操作
package dao;
import com.mongodb.DBCollection;
import com.mongodb.WriteResult;
import com.zt.todo.log.UserLog;
import org.junit.Test;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import java.net.UnknownHostException;
import static org.springframework.data.mongodb.core.query.Criteria.where;
/**
* Created by IntelliJ IDEA.
* User: zhangtan
* Date: 12-7-28
* Time: 11:19
*/
public class MongoTest extends BaseTestCase {
private MongoTemplate mongoOps;
@Test
public void insertLog() throws UnknownHostException {
UserLog userLog = new UserLog("zt", "吃饭");
mongoOps.insert(new UserLog("zt", "我今天吃饭了"));
// mongoOps.dropCollection("person");
//save
mongoOps.save(userLog,"userLog");
//find
UserLog savedLog = mongoOps.findOne(new Query(where("operater").is("zt")), UserLog.class);
System.out.println("savedLog : " + savedLog);
//update
WriteResult updateResult = mongoOps.updateFirst(new Query(where("operater").is("zt")),
Update.update("operater", "qs"), UserLog.class);
System.out.println("updateResult : " + updateResult.getN());
//delete
mongoOps.remove(new Query(where("operater").is("zt")),"userLog");
//List
DBCollection dBCollection = mongoOps.getCollection("userLog");
System.out.println("Number of user = " + dBCollection.getCount());
}
public MongoTemplate getMongoOps() {
return mongoOps;
}
public void setMongoOps(MongoTemplate mongoOps) {
this.mongoOps = mongoOps;
}
}
分享到:
相关推荐
spring data mongodb的demo程序,参考App.java中的调用方法,mongodb配置文件在resources目录下,整个项目使用maven,适合初学者学习。
spring-data-mongodb已经对mongodb的操作做了一部分封装,但依然不够,Query Criteria Sort的操作依然有比较大的局限性,而且对于习惯sql操作的人来说,理解其使用法则依然稍显别扭。mongoHelper对spring-data-...
这篇文章就是展示如何使用Java基于MongoDB和Spring Data创建一个CRUD应用。 Spring Data for MongoDB提供了一个类似于基于Sping编程模型的NoSQL数据存储。Spring Data for MongoDB提供了很多特性,它使很多MongoDB的...
spring boot项目,使用springdata来操作数据库mongodb
spring操作mongodb的jdbc工具包,好不容易下载下来的。
使用Spring Data MongoDB和MongoDB 3.0 17.1.1。配置选项 17.1.2。WriteConcern和WriteConcernChecking 17.1.3。认证 17.1.4。服务器端验证 17.1.5。其他事情要注意 附录 附录A:命名空间参考 元素 附录B:Poppers...
spring mongodb mongodb实例,spring data mongodb 操作实例总结
spring mongodb用到的jar包,可以用spring 操作mongodb,类似于Hibernate
今天我们来学习一下SpringData操作MongoDB。 项目环境:IntelliJ IDEA2017+maven3.5.0+MongoDB 3.2+JDK1.7+spring4.3.8 推荐网站(适合学习各种知识的基础): mongo安装请参考: 1. 创建maven工程 首相创建maven...
spring-data-mongodb-example 这是使用 Spring Data MongoDB 和 MongoDB Java Driver v3.0.0 的示例代码 这包括使用 MongoDB 存储库的基本 CRUD 操作和用于多个文档更新的自定义存储库实现
在项目开发中经常会批量插入数据和更新数据的操作,这篇文章主要介绍了Spring Data MongoDB 数据库批量操作的方法,非常具有实用价值,需要的朋友可以参考下
mongodb 数据库基本操作 1、mongoDB的介绍 mongoDB是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它介于关系数据库和非关系数据库之间,被认为是非...
使用Spring数据Mongodb进行CRUD操作 使用Spring数据,Spring MVC和MongoDB的基本CRUD操作
MVC-POC 单页用户管理应用程序。 可以执行 CRUD 操作。 Spring MVC、Spring Data、MongoDb 和 Bootstrap POC 应用程序
两种方式,一种是类似jpa的方式,使用mongodbRepository接口,可以自定义方法类似spring-data-jpa。 一种是使用MongodbOperation类提供的接口。 实现了: 增删改查,分页,批量插入,批量更新,负责条件等。
SpringData官网:...SpringDateMongoDB:为操作MongoDB数据库提供了接口支持,在大数据层用的比较多。SpringDateRedis:为操作Redis数据库提供了相关的接口支持。SpringDateSolr:提供对Solr的接口支持。So
一个很完整,可以直接运行的案例,值得拥有。 springdata集成mongodb,实现了mongodb的基础操作功能
使用Spring Boot和Spring Data MongoDB开发的搜索应用程序。 开发环境 我们开发并确认了在以下环境中的操作。 Java 1.8.0_60 Sprint Boot1.2.5 Spring Data Mongo 1.6.3 MongoDB 2.4.14 跑步 在运行MongoDBL...
您将使用Spring Data MongoDB将Person POJO存储在MongoDB数据库中。 你需要什么 https://raw.githubusercontent.com/spring-guides/getting-started-macros/master/hide-show-sts.adoc 安装并启动MongoDB 完成...