`
yu120
  • 浏览: 81541 次
社区版块
存档分类
最新评论
阅读更多
package com.xbwen.po;

import com.bugull.mongo.BuguEntity;
import com.bugull.mongo.annotations.Entity;
import com.bugull.mongo.annotations.Id;

@Entity
public class Foo implements BuguEntity{
    @Id
    private String id;
    private String name;

    @Override
    public String getId() {
        return id;
    }

    @Override
    public void setId(String id) {
        this.id = id;
    }

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

 

package com.xbwen.dao.impl;

import com.bugull.mongo.BuguDao;
import com.xbwen.po.Foo;

public class FooDaoImpl extends BuguDao<Foo> {
    public FooDaoImpl(){
        super(Foo.class);
    }
    
}

 

package com.xbwen.dao;

import com.xbwen.po.Foo;

public interface FooDao extends BuguBase<Foo> {
   
}

 

package com.xbwen.context;
import com.bugull.mongo.BuguConnection;  
import javax.servlet.ServletContextEvent;  
import javax.servlet.ServletContextListener;  
  
public class MySystemListener implements ServletContextListener{  
    @Override  
    public void contextInitialized(ServletContextEvent event) {  
        //连接数据库  
        BuguConnection conn = BuguConnection.getInstance();  
        conn.connect("127.0.0.1", 27017, "test");
    }  
   
    @Override  
    public void contextDestroyed(ServletContextEvent event) {
        //关闭数据库连接
        BuguConnection.getInstance().close();  
    } 
}  

 

package com.xbwen.dao;


import java.util.List;

import com.bugull.mongo.BuguQuery;
import com.bugull.mongo.BuguUpdater;
import com.mongodb.DBCollection;
import com.mongodb.WriteResult;

public interface BuguBase<T> {

	/***插入数据***/
	/**添加一个对象*/
	public WriteResult insert(T t);
	/**添加多个对象*/
	public WriteResult insert(List<T> list); //批量插入
	/**添加或更新一个对象*/
	public WriteResult save(T t);//如果t中没有ID值,则为插入,若有ID值,则为修改。用户自定义ID除外。
	
	/***删除数据***/
	/**删除整个Collection*/
	public void drop();
	/**根据对象删除*/
	public WriteResult remove(T t);
	/**根据id删除*/
	public WriteResult remove(String id);
	/**批量删除*/
	public WriteResult remove(List<String> idList);
	/**按条件删除*/
	public WriteResult remove(String key, Object value);
	/**按条件删除*/
	public WriteResult remove(@SuppressWarnings("rawtypes") BuguQuery query);
	
	/***基本查询***/
	/** 根据id查询一个对象 */
	public T findOne(String id);
	/** 根据key-value查询一个对象 */
	public T findOne(String key, Object value);
	/** 查询全部 */
	public List<T> findAll();
	/** 查询全部,并排序,排序格式为orderBy-->{name:-1},其中1是升序,-1是降序*/
	public List<T> findAll(String orderBy);
	/** 分页查询全部,pageNum为页码,起始页为1,pageSize页容量大小 */
	public List<T> findAll(int pageNum, int pageSize);
	/** 分页查询全部并排序,orderBy格式{name:-1},其中1是升序,-1是降序,pageNum起始页,pageSize页容量大小  */
	public List<T> findAll(String orderBy, int pageNum, int pageSize);
	/** 根据id查询是否存在 */
	public boolean exists(String id);
	/** 根据key-value查询是否存在 */
	public boolean exists(String key, Object value);
	/** 查询总数目 */
	public long count();
	/** 根据key-value查询总数目 */
	public long count(String key, Object value);
	/** 查询某一字段的不重复值 */
	@SuppressWarnings("rawtypes")
	public List distinct(String key);
	/**
	 * 高级查询
	 * <br>-------------------------------------------
	 * <br>生成查询条件:is、notEquals、greaterThan、greaterThanEquals、
	 * lessThan、lessThanEquals、in、notIn、all、size、mod、existsField、
	 * notExistsField、regex、where、or、and
	 * <br>地理空间数据查询:near、withinCenter、withinBox
	 * <br>设置查询参数:slice、returnFields、notReturnFields、sort、
	 * pageNumber、pageSize
	 * <br>返回查询结果:result、results、count、exists、distinct
	 * <br>-------------------------------------------
	 * <br>注:支持连缀书写形式、支持分页、支持指定返回或不返回某些字段、支持
	 * Entity对象作为查询条件、支持字符串形式的排序:
	 * @return
	 */
	public BuguQuery<T> query();
	/**
	 * 修改数据
	 * <br>-------------------------------------------
	 * <br>修改属性值:set
	 * <br>删除属性列:unset
	 * <br>增加、减少数值:inc
	 * <br>乘以某个数值:mul
	 * <br>数组操作:push、pushEach、pull、popFirst、popLast
	 * <br>设置成较小值:min
	 * <br>设置成较大值:max
	 * <br>按位操作:bitwise
	 */
	public BuguUpdater<T> update();
	/** 获取数据集合,提供自定义服务 */
	public DBCollection getCollection();
}

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Forum</display-name>
  <listener>  
    <listener-class>com.xbwen.context.MySystemListener</listener-class>  
</listener> 
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

分享到:
评论
1 楼 石头茨 2015-01-23  
在maven (http://search.maven.org)项目中,找不到bugu-mongo-1.14.zip包。能将此项目上传打maven吗?

相关推荐

    Linux安装mongodb客户端

    sudo vim /etc/yum.repos.d/mongodb-org-4.2.repo 写入: [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpg...

    mongodb-测试数据

    MongoDB是一种流行的开源、分布式文档数据库,常被用于构建高性能、可扩展的应用程序。这个“mongodb-测试数据”压缩包显然包含了一些用于测试MongoDB功能的样例数据集,特别是针对增、删、改、查(CRUD)操作的学习...

    linux安装mongodb教程

    /usr/local/mongodb/mongodb-linux-2.0.7/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/mongodb-linux-2.0.7/logs/mongodb.log --logappend --port=27017 --fork 知识点 6:配置...

    spring-data使用mongodbTemplate对MongoDB进行读写操作

    Spring Data MongoDB是一个强大的Java库,它为开发人员提供了一种简单的方式来访问和操作MongoDB数据库。这个库是Spring Data框架的一部分,旨在简化数据访问层的实现,尤其在使用NoSQL数据库如MongoDB时。MongoDB...

    MongoDB实验 - .docx

    MongoDB 实验报告 本实验报告旨在详细介绍 MongoDB 的安装、配置和基本操作步骤,本报告基于 CentOS 7 系统,通过一步一步的截图和文字说明,帮助读者快速掌握 MongoDB 的使用。 一、安装 MongoDB 首先,我们需要...

    mongodb c#驱动最新驱动mongodb.driver.dll 版本2.12.0-beta1

    MongoDB 是一个流行的开源、基于分布式文件存储的数据库系统,主要设计用于处理大量数据的分布式环境。C# 驱动是 MongoDB 提供的一种客户端库,允许 .NET 开发者与 MongoDB 数据库进行交互。标题提到的是 MongoDB 的...

    MongoDB之conf配置文件详解

    MongoDB之conf配置文件详解 MongoDB的配置文件是服务器的核心组件之一,它控制着MongoDB服务器的各种设置和行为。在本文中,我们将详细介绍MongoDB的配置文件的各个部分,并解释每个设置的作用和意义。 一、数据库...

    mongodb.dll 下载.zip

    MongoDB是一个开源、分布式、高性能的NoSQL数据库,以其灵活性、可扩展性和高可用性而闻名。`mongodb.dll`是MongoDB数据库系统在Windows平台上运行所必需的一个动态链接库(DLL)文件,它包含了MongoDB客户端和...

    geoserver发布mongodb矢量数据地图服务.docx

    Geoserver发布MongoDB矢量数据地图服务 Geoserver是一款功能强大且开源的地理信息系统(GIS)服务器,能够实现空间数据的存储、处理和发布。MongoDB是一款NoSQL数据库,能够存储大量的矢量数据。本文将介绍如何使用...

    MongoDB应用设计模式

    资源名称:MongoDB应用设计模式内容简介:无论是在构建社交媒体网站,还是在开发一个仅在内部使用的企业应用程序,《MongoDB应用设计模式》展示了MongoDB需要解决的商业问题之间的连接。你将学到如何把MongoDB设计...

    MongoDB(mongodb-org-server_5.0.4_amd64.deb)

    MongoDB Community Server(mongodb-org-server_5.0.4_amd64.deb)适用于适用于Debian10 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是...

    MongoDB4.2.21 Linux版本安装包

    MongoDB是一款高性能、无模式的分布式文档型数据库,被广泛应用于大数据分析、内容管理系统、物联网(IoT)、实时应用程序和地理位置数据存储等场景。在Linux环境下安装MongoDB 4.2.21版本,是许多系统管理员和开发者...

    MongoDB Community(mongodb-linux-aarch64-ubuntu1804-5.0.8.tgz)

    MongoDB Community Server(mongodb-linux-aarch64-ubuntu1804-5.0.8.tgz)适用于Ubuntu 18.04 Arm芯片, MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决...

    mongodb数据库jar包

    MongoDB是一个流行的开源、分布式文档型数据库,设计用于处理大量数据并提供高可用性和高性能。在Java应用程序中,为了与MongoDB进行交互,我们需要使用Java MongoDB驱动程序。这个压缩包包含的就是Java连接MongoDB...

    MongoDB(mongodb-src-r5.0.4.tar.gz)

    MongoDB Community Server(mongodb-src-r5.0.4.tar.gz)源代码 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非...

    MongoDB c#驱动 dll

    MongoDB是一种流行的开源、分布式文档型数据库,以其灵活性、高性能和可伸缩性而闻名。在C#开发环境中,MongoDB提供了专门的C#驱动程序,使得开发者能够方便地与MongoDB进行交互。本篇文章将深入探讨MongoDB的C#驱动...

    Mongodb for Ubuntu 18.04 ARM 64

    MongoDB 是一个流行的开源文档型数据库,被广泛用于存储、管理和检索非结构化或半结构化数据。在本文中,我们将深入探讨如何在基于ARM架构的Ubuntu 18.04系统上安装和使用MongoDB。 一、ARM架构与Ubuntu 18.04 ARM...

    MongoDB Days 2015 深圳 PPT 共享

    MongoDB是一种分布式文档数据库,以其灵活性、高性能和可伸缩性而闻名,尤其适用于处理大量半结构化和非结构化数据。MongoDB Day 2015 深圳活动显然是一个专门针对MongoDB技术的研讨会或会议,旨在深入探讨和分享...

    mongodb Windows7 64位

    MongoDB是一款开源、高性能、无模式的文档型数据库,它在现代应用程序开发中扮演着重要的角色,特别是在处理大量非结构化数据时。针对"mongodb Windows7 64位"这个主题,我们将深入探讨MongoDB在Windows 7 64位操作...

Global site tag (gtag.js) - Google Analytics