`

Java操作mongoDB

 
阅读更多

java连接mongoDB代码

package comfx.webservice.common;

import java.io.InputStream;
import java.util.Properties;

import com.mongodb.BasicDBList;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoOptions;

/**
 * 连接mongoDB
 *
 */
public class MongoDBHelper {
	private String mongoDBIpAddress;
	private int mongoDBPort;
	private String mongoDBName;
	private String mongoDBUserName;
	private String mongoDBPassword;
	private int poolSize = 10;// 连接数量 
    private int blockSize = 10; // 等待队列长度 
    
    private Mongo m = null;
    
    private DB mongoConnection = null;
    
    public MongoDBHelper() throws Exception{
    	Properties props = new Properties();
    	InputStream in = this.getClass().getClassLoader().getResourceAsStream("mongo.properties");
        props.load(in);
        mongoDBIpAddress = props.getProperty ("mongoDBIpAddress").trim();
        mongoDBPort = Integer.valueOf(props.getProperty ("mongoDBPort").trim());
        mongoDBName = props.getProperty ("mongoDBName").trim();
        mongoDBUserName = props.getProperty ("mongoDBUserName").trim();
        mongoDBPassword = props.getProperty ("mongoDBPassword").trim();
        poolSize = Integer.valueOf(props.getProperty ("poolSize").trim());
        blockSize = Integer.valueOf(props.getProperty ("blockSize").trim());
        
    	m = new Mongo(mongoDBIpAddress, mongoDBPort);
		MongoOptions opt = m.getMongoOptions(); 
        opt.connectionsPerHost = poolSize; 
        opt.threadsAllowedToBlockForConnectionMultiplier = blockSize; 
        DB db = m.getDB(mongoDBName);
	    if(db.authenticate(mongoDBUserName, mongoDBPassword.toCharArray())){
	    	mongoConnection = db;
	    }
    }
	
	/**
	 * 插入用户
	 * @param userinfo
	 * @return 是否成功
	 * @throws Exception
	 */
	public void insertUserInfo(UserInfo userinfo) throws Exception{
        DBCollection authors = mongoConnection.getCollection("users");
        BasicDBObject val = new BasicDBObject();
        //插入数据
        val.put("username", userinfo.getUsername());
        val.put("useremail", userinfo.getUseremail());
        val.put("userphone", userinfo.getUserphone());
        val.put("usertype", userinfo.getUsertype());
        authors.save(val);//将该Document插入到mongodb的collection中 
	}
	
	/**
	 * 更新用户
	 * @param userinfo
	 * @throws Exception
	 */
	public void updateUserInfo(UserInfo userinfo) throws Exception{
		DBCollection authors = mongoConnection.getCollection("users");
		DBObject updateCondition=new BasicDBObject();
		
		//where name='fox'
		updateCondition.put("username", userinfo.getUsername());
		updateCondition.put("usertype", userinfo.getUsertype());
		
		DBObject updatedValue=new BasicDBObject();
		if(userinfo.getUseremail()!=null&&!userinfo.getUseremail().equals("")){
			updatedValue.put("useremail", userinfo.getUseremail());
		}
		if(userinfo.getUserphone()!=null&&!userinfo.getUserphone().equals("")){
			updatedValue.put("userphone", userinfo.getUserphone());
		}
		if((userinfo.getUseremail()!=null&&!userinfo.getUseremail().equals(""))||(userinfo.getUserphone()!=null&&!userinfo.getUserphone().equals(""))){
			DBObject updateSetValue=new BasicDBObject("$set",updatedValue);
			authors.update(updateCondition, updateSetValue);
		}
		
	}
	
	/**
	 * 删除用户
	 * @param userinfo
	 * @throws Exception
	 */
	public void removeUserInfo(UserInfo userinfo) throws Exception{
		DBCollection authors = mongoConnection.getCollection("users");
		BasicDBObject val = new BasicDBObject();
        //插入数据
        val.put("username", userinfo.getUsername());
        val.put("useremail", userinfo.getUseremail());
        val.put("userphone", userinfo.getUserphone());
        val.put("usertype", userinfo.getUsertype());
        authors.remove(val);
	}
	
	/**
	 * 根据用户名、邮箱、手机查找用户
	 * @param userinfo
	 * @return 详情
	 * @throws Exception
	 */
	public UserInfo getUserInfo(UserInfo userinfo) throws Exception{
		UserInfo u = new UserInfo();
		DBCollection authors = mongoConnection.getCollection("users");
        BasicDBObject val = new BasicDBObject();
        BasicDBList values = new BasicDBList();
        BasicDBList values1 = new BasicDBList();
        if(userinfo!=null && userinfo.getUsername()!=null && !userinfo.getUsername().equals(""))
        	values.add(new BasicDBObject("username", userinfo.getUsername()));  
        if(userinfo!=null && userinfo.getUseremail()!=null && !userinfo.getUseremail().equals(""))
        	values.add(new BasicDBObject("useremail", userinfo.getUseremail()));  
        if(userinfo!=null && userinfo.getUserphone()!=null && !userinfo.getUserphone().equals(""))
        	values.add(new BasicDBObject("userphone", userinfo.getUserphone()));
        values1.add(new BasicDBObject("usertype", userinfo.getUsertype()));
        val.put("$or", values);
        val.put("$and", values1);
        
        DBCursor cursor = authors.find(val);
        while (cursor.hasNext()) {
        	DBObject obj = cursor.next();
        	u.setUsername(obj.get("username")+"");
        	u.setUseremail(obj.get("useremail")+"");
        	u.setUserphone(obj.get("userphone")+"");
        	u.setUsertype(obj.get("usertype")+"");
        }
        if(u.getUsername() != null && !"".equals(u.getUsername())){
        	return u;
        }else{
        	return null;
        }
	}
	
}

 配置文件mongo.properties

mongoDBIpAddress = 192.168.1.157
mongoDBPort = 27017
mongoDBName = CHECKUSER
mongoDBUserName = userid
mongoDBPassword = 123.com
#连接数量
poolSize = 10
#等待队列长度 
blockSize =10

 

mongoDB jar包

mongo-2.6.5.jar(附件)

分享到:
评论

相关推荐

    java操作mongodb存储文件实例

    将一系列图片文件存储到MongoDB中 java操作mongodb存储文件

    java 操作mongodb

    【Java 操作 MongoDB 知识点详解】 MongoDB 是一个流行的开源、分布式文档数据库系统,以其灵活性、高性能和高可用性而受到欢迎。在 Java 开发环境中,可以通过 MongoDB 的 Java 驱动程序来实现对 MongoDB 数据库的...

    java 操作mongodb 增删改查

    以上就是Java操作MongoDB的基本步骤。这个“mongodb_helloworld”项目应该包含示例代码,帮助初学者快速上手。记得在实际应用中,你需要处理异常并适当地关闭MongoClient,以避免资源泄漏: ```java mongoClient....

    Mongodb + GridFS +Java 操作Mongodb中存储的文件

    在这个Java操作MongoDB中存储的文件实例中,我们将探讨如何利用GridFS API进行文件的存取。 首先,我们需要在Java项目中引入MongoDB的驱动库。目前,Java驱动通常使用的是MongoDB Java Driver,可以在Maven仓库中...

    java操作mongoDB(CRUD)

    Java操作MongoDB主要涉及到的是Java驱动程序与MongoDB数据库之间的交互,这涵盖了创建连接、执行CRUD(创建、读取、更新、删除)操作等一系列基本的数据库管理任务。MongoDB是一个流行的NoSQL数据库,以其灵活性、高...

    java操作mongodb示例分享

    Java操作MongoDB是一种常见的数据交互方式,特别是在Java后端开发中。MongoDB是一个NoSQL数据库,以其灵活性、高性能和易扩展性而受到欢迎。在Java中,我们可以使用MongoDB的Java驱动程序来与MongoDB进行通信。以下...

    JAVA操作MongoDB简单增删改查

    以上就是使用Java操作MongoDB的基本步骤。在实际项目中,你可能需要处理更复杂的查询和事务,以及错误处理和连接池管理等高级话题。学习更多关于MongoDB的官方文档和社区资源,如CSDN博客...

    Java操作MongoDB实例

    Java操作MongoDB实例,压缩包内为完整项目源码,使用MyEclipse软件 见文:https://blog.csdn.net/qq_33427869/article/details/87270444

    java操作mongoDB实现文件上传预览打包下载

    对于"java操作mongoDB实现文件上传预览打包下载"这个主题,我们将深入探讨如何利用Java与MongoDB交互,实现文件的上传、下载、预览以及打包下载等功能。 首先,我们需要在Java项目中引入MongoDB的驱动库,通常是...

    Java操作MongoDB之CRUD(增删改查)

    这篇博文“Java操作MongoDB之CRUD(增删改查)”主要探讨了如何使用Java驱动程序来执行基本的数据库操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)。 首先,我们来了解MongoDB的Java驱动...

    java操作mongodb的工具类

    java操作mongodb的工具类,增删查改方法

    JAVA操作MongoDB之spring整合

    在本文中,我们将深入探讨如何使用Java操作MongoDB并结合Spring框架进行整合。MongoDB是一个流行的NoSQL数据库,它以JSON格式存储数据,适合处理大量非结构化或半结构化数据。Spring框架则是一个强大的Java企业级...

    Java操作mongoDB使用文档.docx(16页.docx

    以上就是使用Java操作MongoDB的基本步骤。在实际应用中,你可能需要处理更复杂的查询和更新,以及错误处理、连接管理等。MongoDB提供了丰富的查询表达式,如`$gt`, `$lt`, `$in`, `$exists`等,以及聚合框架和地理...

    java操作mongodb的demo(带驱动jar)

    Java操作MongoDB是一种常见的数据交互方式,特别是在大数据和分布式系统中。MongoDB是一个高性能、开源、无模式的文档型数据库,而Java作为广泛使用的编程语言,提供了丰富的库和API来与MongoDB进行交互。本Demo提供...

    Java操作MongoDB数据库示例分享

    为了更深入地了解如何使用Java操作MongoDB,你需要学习以下知识点: 1. **MongoDB Java驱动程序**:了解如何添加驱动程序依赖,以及如何创建`MongoClient`实例来连接到MongoDB服务器。 2. **数据模型**:理解...

    JAVA操作MongoDB

    ### JAVA操作MongoDB知识点详解 #### 1. Java操作MongoDB简介 MongoDB是一种面向文档的NoSQL数据库,它提供了灵活的文档模型和高性能的读写操作,非常适合处理大量的数据和快速迭代的开发环境。而Java是一种广泛...

    java操作mongodb

    Java 操作 MongoDB 是一个常见的需求,特别是在开发基于 Java 的应用程序时需要存储和检索非结构化数据。本篇文章将深入探讨如何使用 Java SDK 来与 MongoDB 进行交互,包括基本的增、删、改、查操作。 首先,要...

Global site tag (gtag.js) - Google Analytics