此项目已开源,开源地址是:

http://mongodbhelper-csharp.googlecode.com/svn/trunk/

mongodb的helper

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MongoDB.Driver;
using MongoDB.Bson;
using MongoDB.Driver.Builders;
namespace MongoDBHelper
{
/// <summary>
/// mongodb的封装类。
/// add by yancong2008@gmail.com 2011.05.14
/// </summary>
public sealed class MongoDBHelper
//public sealed class MongoDBHelper<T>
//where T :class
{
public static readonly string connectionString_Default = System.Configuration.ConfigurationManager.AppSettings["ConnectionString_mongoDB"];
public static readonly string database_Default = System.Configuration.ConfigurationManager.AppSettings["Database_mongoDB"];
#region 新增
public static SafeModeResult InsertOne<T>(string collectionName, T entity)
{
return MongoDBHelper.InsertOne<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, entity);
}
public static SafeModeResult InsertOne<T>(string connectionString, string databaseName, string collectionName, T entity)
{
SafeModeResult result = new SafeModeResult();
if (null == entity)
{
return null;
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.Insert(entity);
}
return result;
}
public static IEnumerable<SafeModeResult> InsertAll<T>(string collectionName, IEnumerable<T> entitys)
{
return MongoDBHelper.InsertAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, entitys);
}
public static IEnumerable<SafeModeResult> InsertAll<T>(string connectionString, string databaseName, string collectionName, IEnumerable<T> entitys)
{
IEnumerable<SafeModeResult> result = null;
if (null == entitys)
{
return null;
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.InsertBatch(entitys);
}
return result;
}
#endregion
#region 修改
public static SafeModeResult UpdateOne<T>(string collectionName, T entity)
{
return MongoDBHelper.UpdateOne<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, entity);
}
public static SafeModeResult UpdateOne<T>(string connectionString, string databaseName, string collectionName, T entity)
{
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
SafeModeResult result;
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.Save(entity);
}
return result;
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="update">更新设置。调用示例:Update.Set("Title", "yanc") 或者 Update.Set("Title", "yanc").Set("Author", "yanc2") 等等</param>
/// <returns></returns>
public static SafeModeResult UpdateAll<T>(string collectionName, IMongoQuery query, IMongoUpdate update)
{
return MongoDBHelper.UpdateAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, update);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="connectionString"></param>
/// <param name="databaseName"></param>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="update">更新设置。调用示例:Update.Set("Title", "yanc") 或者 Update.Set("Title", "yanc").Set("Author", "yanc2") 等等</param>
/// <returns></returns>
public static SafeModeResult UpdateAll<T>(string connectionString, string databaseName, string collectionName, IMongoQuery query, IMongoUpdate update)
{
SafeModeResult result;
if (null == query || null == update)
{
return null;
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.Update(query, update, UpdateFlags.Multi);
}
return result;
}
#endregion
#region 删除
public static SafeModeResult Delete(string collectionName, string _id)
{
return MongoDBHelper.Delete(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, _id);
}
public static SafeModeResult Delete(string connectionString, string databaseName, string collectionName, string _id)
{
SafeModeResult result;
ObjectId id;
if (!ObjectId.TryParse(_id, out id))
{
return null;
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.Remove(Query.EQ("_id", id));
}
return result;
}
public static SafeModeResult DeleteAll(string collectionName)
{
return MongoDBHelper.DeleteAll(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, null);
}
/// <summary>
///
/// </summary>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <returns></returns>
public static SafeModeResult DeleteAll(string collectionName, IMongoQuery query)
{
return MongoDBHelper.DeleteAll(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query);
}
/// <summary>
///
/// </summary>
/// <param name="connectionString"></param>
/// <param name="databaseName"></param>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <returns></returns>
public static SafeModeResult DeleteAll(string connectionString, string databaseName, string collectionName, IMongoQuery query)
{
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
SafeModeResult result;
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
if (null == query)
{
result = myCollection.RemoveAll();
}
else
{
result = myCollection.Remove(query);
}
}
return result;
}
#endregion
#region 获取单条信息
public static T GetOne<T>(string collectionName, string _id)
{
return MongoDBHelper.GetOne<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, _id);
}
public static T GetOne<T>(string connectionString, string databaseName, string collectionName, string _id)
{
T result = default(T);
ObjectId id;
if (!ObjectId.TryParse(_id, out id))
{
return default(T);
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.FindOneAs<T>(Query.EQ("_id", id));
}
return result;
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <returns></returns>
public static T GetOne<T>(string collectionName, IMongoQuery query)
{
return GetOne<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="connectionString"></param>
/// <param name="databaseName"></param>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <returns></returns>
public static T GetOne<T>(string connectionString, string databaseName, string collectionName, IMongoQuery query)
{
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
T result = default(T);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
if (null == query)
{
result = myCollection.FindOneAs<T>();
}
else
{
result = myCollection.FindOneAs<T>(query);
}
}
return result;
}
#endregion
#region 获取多个
public static List<T> GetAll<T>(string collectionName)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName);
}
/// <summary>
/// 如果不清楚具体的数量,一般不要用这个函数。
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <returns></returns>
public static List<T> GetAll<T>(string connectionString, string databaseName, string collectionName)
{
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
List<T> result = new List<T>();
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
foreach (T entity in myCollection.FindAllAs<T>())
{
result.Add(entity);
}
}
return result;
}
public static List<T> GetAll<T>(string collectionName, int count)
{
return MongoDBHelper.GetAll<T>(collectionName, count, null, null);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="count"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, int count, IMongoQuery query)
{
return MongoDBHelper.GetAll<T>(collectionName, count, query, null);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="count"></param>
/// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, int count, IMongoSortBy sortBy)
{
return MongoDBHelper.GetAll<T>(collectionName, count, null, sortBy);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="count"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
/// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, int count, IMongoQuery query, IMongoSortBy sortBy, params string[] fields)
{
PagerInfo pagerInfo = new PagerInfo();
pagerInfo.Page = 1;
pagerInfo.PageSize = count;
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, pagerInfo, sortBy, fields);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="pagerInfo"></param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, IMongoQuery query, PagerInfo pagerInfo)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, pagerInfo, null);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="pagerInfo"></param>
/// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, IMongoQuery query, PagerInfo pagerInfo, IMongoSortBy sortBy)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, pagerInfo, sortBy);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="pagerInfo"></param>
/// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, IMongoQuery query, PagerInfo pagerInfo, params string[] fields)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, pagerInfo, null, fields);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="pagerInfo"></param>
/// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
/// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, IMongoQuery query, PagerInfo pagerInfo, IMongoSortBy sortBy, params string[] fields)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, pagerInfo, sortBy, fields);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="connectionString"></param>
/// <param name="databaseName"></param>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="pagerInfo"></param>
/// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
/// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string connectionString, string databaseName, string collectionName, IMongoQuery query, PagerInfo pagerInfo, IMongoSortBy sortBy, params string[] fields)
{
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
List<T> result = new List<T>();
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
MongoCursor<T> myCursor;
if (null == query)
{
myCursor = myCollection.FindAllAs<T>();
}
else
{
myCursor = myCollection.FindAs<T>(query);
}
if (null != sortBy)
{
myCursor.SetSortOrder(sortBy);
}
if (null != fields)
{
myCursor.SetFields(fields);
}
foreach (T entity in myCursor.SetSkip((pagerInfo.Page - 1) * pagerInfo.PageSize).SetLimit(pagerInfo.PageSize))//.SetSkip(100).SetLimit(10)是指读取第一百条后的10条数据。
{
result.Add(entity);
}
}
return result;
}
#endregion
#region 索引
public static void CreateIndex(string collectionName, params string[] keyNames)
{
MongoDBHelper.CreateIndex(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, keyNames);
}
public static void CreateIndex(string connectionString, string databaseName, string collectionName, params string[] keyNames)
{
SafeModeResult result = new SafeModeResult();
if (null == keyNames)
{
return;
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
if (!myCollection.IndexExists(keyNames))
{
myCollection.EnsureIndex(keyNames);
}
}
}
#endregion
}
}

mongoDB操作命令,摘自官方helper

help                         show help
show dbs show database names
show collections show collections in current database
show users show users in current database
show profile show most recent system.profile entries with time >= 1ms
use <db name> set curent database to <db name> db.addUser (username, password)
db.removeUser(username) db.cloneDatabase(fromhost)
db.copyDatabase(fromdb, todb, fromhost)
db.createCollection(name, { size : ..., capped : ..., max : ... } ) db.getName()
db.dropDatabase() // runs the collstats] command on each collection in the database
db.printCollectionStats() db.currentOp() displays the current operation in the db
db.killOp() kills the current operation in the db db.getProfilingLevel()
db.setProfilingLevel(level) 0=off 1=slow 2=all db.getReplicationInfo()
db.printReplicationInfo()
db.printSlaveReplicationInfo()
db.repairDatabase() db.version() current version of the server db.shutdownServer() db.foo.drop() drop the collection
db.foo.dropIndex(name)
db.foo.dropIndexes()
db.foo.getIndexes()
db.foo.ensureIndex(keypattern,options) - options object has these possible
fields: name, unique, dropDups db.foo.find( [query] , [fields]) - first parameter is an optional
query filter. second parameter
is optional
set of fields to return.
e.g. db.foo.find(
{ x : 77 } ,
{ name : 1 , x : 1 } )
db.foo.find(...).count()
db.foo.find(...).limit(n)
db.foo.find(...).skip(n)
db.foo.find(...).sort(...)
db.foo.findOne([query]) db.foo.getDB() get DB object associated with collection db.foo.count()
db.foo.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } ) db.foo.renameCollection( newName ) renames the collection db.foo.stats()
db.foo.dataSize()
db.foo.storageSize() - includes free space allocated to this collection
db.foo.totalIndexSize() - size in bytes of all the indexes
db.foo.totalSize() - storage allocated for all data and indexes
db.foo.validate() (slow) db.foo.insert(obj)
db.foo.update(query, object[, upsert_bool])
db.foo.save(obj)
db.foo.remove(query) - remove objects matching query
remove({}) will remove all

mongoDB操作命令及mongoDB的helper的更多相关文章

  1. mongoDB & Nodejs 访问mongoDB (一)

    最近的毕设需要用到mongoDB数据库,又把它拿出来再学一学,下盘并不是很稳,所以做一些笔记,不然又忘啦. 安装 mongoDB & mongoVUE mongoDB: https://www ...

  2. mongodb系列之--mongodb 主从配置与说明

    一.为什么要配置mongodb的主从: 1.做主从,可以说是做数据的备份,有利于故障的恢复 2.做主从,可以做到读写分离,主节点负责写操作,从节点负责读操作,这样就把读写压力分开,保证系统的稳定性. ...

  3. java操作mongodb & springboot整合mongodb

    简单的研究原生API操作MongoDB以及封装的工具类操作,最后也会研究整合spring之后作为dao层的完整的操作. 1.原生的API操作 pom.xml <!-- https://mvnre ...

  4. 学习MongoDB 一:MongoDB 入门(安装与配置)

    一.简介 MongoDB一种非关系型数据库(NoSql),是一种强大.灵活.可扩展的数据存储方式,因为MongoDB是文档模型,自由灵活很高,可以让你在开发过程中畅顺无比,对于大数据量.高并发.弱事务 ...

  5. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB

    MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...

  6. MongoDB · 引擎特性 · MongoDB索引原理

    MongoDB · 引擎特性 · MongoDB索引原理数据库内核月报原文链接 http://mysql.taobao.org/monthly/2018/09/06/ 为什么需要索引?当你抱怨Mong ...

  7. MongoDB小结01 - MongoDB简介

    我们为什么要去学习MongoDB MongoDB是一种强大.灵活.可扩展的数据存储方式. 丰富的数据模型 MongoDB是面向文档的数据库,不是关系型数据库.它将原来'行'(row)的概念换成了更加灵 ...

  8. mongodb基本命令,mongodb集群原理分析

    mongodb基本命令,mongodb集群原理分析 集合: 1.集合没有固定数据格式. 2. 数据: 时间类型: Date() 当前时间(js时间) new Date() 格林尼治时间(object) ...

  9. PHP使用MongoDB类操作MongoDB数据库总结

    参考:https://www.php.net/manual/zh/class.mongodb-driver-manager.php 参考:https://www.zhaokeli.com/articl ...

随机推荐

  1. 题目1437:To Fill or Not to Fill:贪心算法解决加油站选择问题(未解决)

    //贪心算法解决加油站选择问题 //# include<iostream> # include<stdio.h> using namespace std; # include& ...

  2. leetcode—3sum

    1.题目描述 Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find ...

  3. Navicate

    快捷键 1.ctrl+q 打开查询窗口 2.ctrl+/ 注释sql语句 3.ctrl+shift +/ 解除注释 4.ctrl+r 运行查询窗口的sql语句 5.ctrl+shift+r 只运行选中 ...

  4. Static块详解

    首先,我们先看一段程序,代码如下: public class Father { public Father() //构造方法 { System.out.println(" 父类构造方法&qu ...

  5. Failed to allocate the network(s), not rescheduling

    Failed to allocate the network(s), not rescheduling 在计算节点的/etc/nova/nova.conf中添加下面两句 #Fail instance ...

  6. JSF 2 hidden value example

    In JSF, you can use the <h:inputHidden /> tag to render a HTML hidden value field. For example ...

  7. 8VC Venture Cup 2016 - Elimination Round (C. Block Towers)

    题目链接:http://codeforces.com/contest/626/problem/C 题意就是给你n个分别拿着2的倍数积木的小朋友和m个分别拿着3的倍数积木的小朋友,每个小朋友拿着积木的数 ...

  8. 【Java】IO流简单分辨

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827509.html Java的IO流体系十分庞大,并且体系层次稍复杂,很容易记混或记错.在此,我把平时经常用 ...

  9. android Studio gradle so的加载

    最近在使用Android Studio开发android项目,我的项目是由gradle构建的,gradle的优势文档上有说明,当你不断使用中,我越来越发现,太TMD方便啦,优势大大的明显. 打包,功能 ...

  10. 深入浅出之Smarty模板引擎工作机制(二)

    源代码下载地址:深入浅出之Smarty模板引擎工作机制 接下来根据以下的Smarty模板引擎原理流程图开发一个自己的模板引擎用于学习,以便加深理解. Smarty模板引擎的原理,其实是这么一个过程: ...