Person.java
/** * Person.java * 版权所有(C) 2012 * 创建:cuiran 2012-12-12 11:37:16 */ package com.spring.mongo.domain; import java.io.Serializable; public class Person implements Serializable { private static final long serialVersionUID = 3617931430808763429L; private String id; private String name; private int age; public Person() { super(); } public Person(String id, String name, int age) { super(); this.id = id; this.name = name; this.age = age; } /** * @return the id */ public String getId() { return id; } /** * @param id * the id to set */ public void setId(String id) { this.id = id; } /** * @return the name */ public String getName() { return name; } /** * @param name * the name to set */ public void setName(String name) { this.name = name; } /** * @return the age */ public int getAge() { return age; } /** * @param age * the age to set */ public void setAge(int age) { this.age = age; } /** * * @param name * @param age */ public Person(String name, int age) { super(); this.name = name; this.age = age; } public String toString() { return "Person[id=" + id + ",name=" + name + ",age=" + age + "]"; } }
interface RepositoryManager.java
package com.spring.mongo.services; import java.util.List; import com.spring.mongo.domain.Person; public interface RepositoryManager { public void insert(Person person); public Person findOne(String id); public List<Person> findAll(); public List<Person> findByRegex(String regex); public void removeOne(String id); public void removeAll(); public void findAndModify(String id); }
PersonRepositoryImpl.java
package com.spring.mongo.services.impl; import java.util.List; import java.util.regex.Pattern; import org.springframework.data.document.mongodb.MongoTemplate; import org.springframework.data.document.mongodb.query.Criteria; import org.springframework.data.document.mongodb.query.Query; import org.springframework.data.document.mongodb.query.Update; import com.spring.mongo.domain.Person; import com.spring.mongo.services.RepositoryManager; public class PersonRepositoryImpl implements RepositoryManager { private MongoTemplate mongoTemplate; @Override public List<Person> findAll() { // TODO Auto-generated method stub return getMongoTemplate().find(new Query(), Person.class); } @Override public void findAndModify(String id) { // TODO Auto-generated method stub //new Query(Criteria.where("id").is(id)), new Update().inc("age", 3) // getMongoTemplate().updateFirst(new Query(Criteria.where("id").is(id)), new Update().update("age", 3)); Query query = new Query(); query.addCriteria(Criteria.where("id").is(id)); Person p = getMongoTemplate().findOne(query, Person.class); p.setAge(4); getMongoTemplate().save(p); } @Override public List<Person> findByRegex(String regex) { // TODO Auto-generated method stub Pattern pattern = Pattern.compile(regex,Pattern.CASE_INSENSITIVE); Criteria criteria = new Criteria("name").regex(pattern.toString()); return getMongoTemplate().find(new Query(criteria), Person.class); } @Override public Person findOne(String id) { // TODO Auto-generated method stub return getMongoTemplate().findOne(new Query(Criteria.where("id").is(id)), Person.class); } @Override public void insert(Person person) { // TODO Auto-generated method stub getMongoTemplate().insert(person); } @Override public void removeAll() { // TODO Auto-generated method stub List<Person> list = this.findAll(); if(list != null){ for(Person person : list){ getMongoTemplate().remove(person); } } } @Override public void removeOne(String id) { // TODO Auto-generated method stub Criteria criteria = Criteria.where("id").in(id); if(criteria != null){ Query query = new Query(criteria); if(query != null && getMongoTemplate().findOne(query, Person.class) != null) getMongoTemplate().remove(getMongoTemplate().findOne(query, Person.class)); } } public MongoTemplate getMongoTemplate() { return mongoTemplate; } public void setMongoTemplate(MongoTemplate mongoTemplate) { this.mongoTemplate = mongoTemplate; } }
SpringMongoTest.java
/** * MongoTest.java * 版权所有(C) 2012 * 创建:cuiran 2012-12-12 11:54:30 */ package com.spring.mongo.main; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.spring.mongo.domain.Person; import com.spring.mongo.services.RepositoryManager; import com.spring.mongo.services.impl.PersonRepositoryImpl; public class SpringMongoTest { private static Log log = LogFactory.getLog(SpringMongoTest.class.getName()); private RepositoryManager pr = null; public void init() { log.debug("开始启动"); ApplicationContext ctx = new ClassPathXmlApplicationContext( "applicationContext.xml"); pr = (PersonRepositoryImpl) ctx.getBean("personRepository"); } public void insert() { for (int i = 1001; i < 10000; i++) { Person p = new Person("cuiran" + i, i); pr.insert(p); } log.debug("添加成功"); } public void findOne() { String id = "517630b710239ca2d4d828a3"; Person p = pr.findOne(id); log.debug(p); } public void listAll() { List<Person> list = pr.findAll(); log.debug("查询结果如下:"); for (Person p : list) { log.debug(p.toString()); } } public void delete() { pr.removeOne("517630b710239ca2d4d828e8"); } public void update() { pr.findAndModify("517630b710239ca2d4d828a3"); } public void start() { init(); delete(); insert(); listAll(); update(); findOne(); } public static void main(String[] args) { SpringMongoTest t = new SpringMongoTest(); t.start(); } }
applicationContext.xml
<?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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns:mongo="http://www.springframework.org/schema/data/mongo" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd"> <context:annotation-config /> <bean id="mongoTemplate" class="org.springframework.data.document.mongodb.MongoTemplate"> <constructor-arg ref="mongo"/> <constructor-arg name="databaseName" value="db"/> <constructor-arg name="defaultCollectionName" value="person" /> </bean> <bean id="personRepository" class="com.mongo.dao.impl.PersonRepository"> <property name="mongoTemplate" ref="mongoTemplate"></property> </bean> <mongo:mongo host="127.0.0.1" port="27017"/> </beans>
log4j.properties
log4j.rootLogger=INFO,CONSOLE log4j.category.com.mongo=DEBUG,messageWeb log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss}\:%p %c - %m%n log4j.appender.messageWeb=org.apache.log4j.DailyRollingFileAppender log4j.appender.messageWeb.File=D:/logs/mongo.log log4j.appender.messageWeb.DatePattern = '.'yyyy-MM-dd.'log' log4j.appender.messageWeb.layout=org.apache.log4j.PatternLayout log4j.appender.messageWeb.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c]-[%p] %m%n log4j.appender.messageWeb.encoding= UTF-8
相关推荐
将一系列图片文件存储到MongoDB中 java操作mongodb存储文件
以上就是Java操作MongoDB的基本步骤。这个“mongodb_helloworld”项目应该包含示例代码,帮助初学者快速上手。记得在实际应用中,你需要处理异常并适当地关闭MongoClient,以避免资源泄漏: ```java mongoClient....
在这个Java操作MongoDB中存储的文件实例中,我们将探讨如何利用GridFS API进行文件的存取。 首先,我们需要在Java项目中引入MongoDB的驱动库。目前,Java驱动通常使用的是MongoDB Java Driver,可以在Maven仓库中...
Java操作MongoDB主要涉及到的是Java驱动程序与MongoDB数据库之间的交互,这涵盖了创建连接、执行CRUD(创建、读取、更新、删除)操作等一系列基本的数据库管理任务。MongoDB是一个流行的NoSQL数据库,以其灵活性、高...
Java操作MongoDB是一种常见的数据交互方式,特别是在Java后端开发中。MongoDB是一个NoSQL数据库,以其灵活性、高性能和易扩展性而受到欢迎。在Java中,我们可以使用MongoDB的Java驱动程序来与MongoDB进行通信。以下...
以上就是使用Java操作MongoDB的基本步骤。在实际项目中,你可能需要处理更复杂的查询和事务,以及错误处理和连接池管理等高级话题。学习更多关于MongoDB的官方文档和社区资源,如CSDN博客...
Java操作MongoDB实例,压缩包内为完整项目源码,使用MyEclipse软件 见文:https://blog.csdn.net/qq_33427869/article/details/87270444
对于"java操作mongoDB实现文件上传预览打包下载"这个主题,我们将深入探讨如何利用Java与MongoDB交互,实现文件的上传、下载、预览以及打包下载等功能。 首先,我们需要在Java项目中引入MongoDB的驱动库,通常是...
这篇博文“Java操作MongoDB之CRUD(增删改查)”主要探讨了如何使用Java驱动程序来执行基本的数据库操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)。 首先,我们来了解MongoDB的Java驱动...
java操作mongodb的工具类,增删查改方法
在本文中,我们将深入探讨如何使用Java操作MongoDB并结合Spring框架进行整合。MongoDB是一个流行的NoSQL数据库,它以JSON格式存储数据,适合处理大量非结构化或半结构化数据。Spring框架则是一个强大的Java企业级...
以上就是使用Java操作MongoDB的基本步骤。在实际应用中,你可能需要处理更复杂的查询和更新,以及错误处理、连接管理等。MongoDB提供了丰富的查询表达式,如`$gt`, `$lt`, `$in`, `$exists`等,以及聚合框架和地理...
Java操作MongoDB是一种常见的数据交互方式,特别是在大数据和分布式系统中。MongoDB是一个高性能、开源、无模式的文档型数据库,而Java作为广泛使用的编程语言,提供了丰富的库和API来与MongoDB进行交互。本Demo提供...
为了更深入地了解如何使用Java操作MongoDB,你需要学习以下知识点: 1. **MongoDB Java驱动程序**:了解如何添加驱动程序依赖,以及如何创建`MongoClient`实例来连接到MongoDB服务器。 2. **数据模型**:理解...
### JAVA操作MongoDB知识点详解 #### 1. Java操作MongoDB简介 MongoDB是一种面向文档的NoSQL数据库,它提供了灵活的文档模型和高性能的读写操作,非常适合处理大量的数据和快速迭代的开发环境。而Java是一种广泛...
Java 操作 MongoDB 是一个常见的需求,特别是在开发基于 Java 的应用程序时需要存储和检索非结构化数据。本篇文章将深入探讨如何使用 Java SDK 来与 MongoDB 进行交互,包括基本的增、删、改、查操作。 首先,要...