MongoDbHelper 帮助类(上)
在网上搜索mongodbHelper的帮助类时,出来的东西都大同小异,再此摘录一下。
这些代码也看了一遍,总是感觉重复的代码太多了,在后续的文章中又整合了一下,请看下篇,欢迎指正!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MongoDB.Driver;
using MongoDB.Bson;
using MongoDB.Driver.Builders;
namespace MongoDbTest
{
/// <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"];// mongodb://192.168.0.220:27017/effmaster
public static readonly string database_Default = System.Configuration.ConfigurationManager.AppSettings["Database_mongoDB"]; #region 新增
public static SafeModeResult InsertOne<T>(string collectionName, T entity)
{
return InsertOne<T>(connectionString_Default, database_Default, collectionName, entity);
}
public static SafeModeResult InsertOne<T>(string connectionString, string databaseName, string collectionName, T entity)
{
SafeModeResult result = null;//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 Save<T>(string collectionName, T entity)
{
return MongoDBHelper.Save<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, entity);
}
public static SafeModeResult Save<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 UpdateOne<T>(string collectionName, IMongoQuery query, IMongoUpdate update)
{
return MongoDBHelper.UpdateOne<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 UpdateOne<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.None);
}
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)
{
var page = ;
var pageSize = count;
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, 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, int page, int pageSize)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, 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, int page, int pageSize, IMongoSortBy sortBy)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, 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, int page, int pageSize, params string[] fields)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, 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, int page, int pageSize, IMongoSortBy sortBy, params string[] fields)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, 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, int page, int pageSize, 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((page - ) * pageSize).SetLimit(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 = null;// 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
}
}
MongoDbHelper 帮助类(上)的更多相关文章
- 在Eclipse中设置Java类上面的注释(包含作者、日期等)
希望在Eclipse中,让Java类上面的注释像下面这样,改如何设置呢? 在Eclipse中,点击菜单中的Window-->Preferences,打开如下窗口:
- c#通过反射获取类上的自定义特性
c#通过反射获取类上的自定义特性 本文转载:http://www.cnblogs.com/jeffwongishandsome/archive/2009/11/18/1602825.html 下面这个 ...
- String 类上的常用操作
java 中String 类上的常用操作: 首先创建对象 String line = new String("String demo"); String line2 = new ...
- Lombok 在继承类上面的注意
找不到符号异常 在控制台项目中配置Lombok 编译会报错 找不到符号 解决 方法: 父类字段ToString不了 @Data @NoArgsConstructor @AllArgsConstruct ...
- 在动作类上加上SkipValidation 在反射时候会获取到该反射信息 就不会执行validate方法
在动作类上加上SkipValidation 在反射时候会获取到该反射信息 就不会执行validate方法
- 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis
springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用 - FoolFox - CSDN博客 https://blog.csdn.net ...
- Spring Cloud Feign 在调用接口类上,配置熔断 fallback后,输出异常
Spring Cloud Feign 在调用接口类上,配置熔断 fallback后,出现请求异常时,会进入熔断处理,但是不会抛出异常信息. 经过以下配置,可以抛出异常: 将原有ErrorEncoder ...
- MongoDbHelper 帮助类(下)
对MongoDbHelper帮助类进行了一下整合,但是代码中一个方法需要将string类型转化为BsonValue类型一直出错.所以欢迎留言指正 using System; using System. ...
- IntelliJ idea鼠标移动到类上显示文档document(javadoc)内容
IntelliJ idea鼠标移动到类上显示文档document(javadoc)内容 Step 1:设置鼠标移动到类上自动显示Javadoc文档 step2:为jdk下载javadoc Step3: ...
随机推荐
- Jquery学习总结(1)——Jquery常用代码片段汇总
1. 禁止右键点击 ? 1 2 3 4 5 $(document).ready(function(){ $(document).bind("contextmenu",fun ...
- [React] Use the URL as the source of truth in React
In Single Page Apps we're used to fetch the data on event callbacks. That disables the capacity to u ...
- UVa10397_Connect the Campus(最小生成树)(小白书图论专题)
解题报告 题目传送门 题意: 使得学校网络互通的最小花费,一些楼的线路已经有了. 思路: 存在的线路当然全都利用那样花费肯定最小,把存在的线路当成花费0,求最小生成树 #include <ios ...
- HDOJ 5357 Easy Sequence DP
a[i] 表示以i字符开头的合法序列有多少个 b[i] 表示以i字符结尾的合法序列有多少个 up表示上一层的'('的相应位置 mt[i] i匹配的相应位置 c[i] 包括i字符的合法序列个数 c[i ...
- XMPP开发之从零開始
对于server的搭建和设置.我在这里就不再多说了.有好多前辈已经帮大家攻克了.能够參考下这篇博客 XMPPserver配置 我依照这个博客配置好了,server后,然后在网上參照代码写了一个小的de ...
- 使用gnu automake编译helloworld
使用gnu automake编译helloworld 按照许多介绍automake基本步骤的教程中的说法,我在尝试使用automake编译helloworld示例程序的时候,仍然遇到了几个小坑,所幸后 ...
- [NowCoder]牛客网NOIP赛前集训营-提高组(第七场)
链接 A.中国式家长2 模拟题,毫无坑点 #include<bits/stdc++.h> #define REP(i,a,b) for(int i(a);i<=(b);++i) #d ...
- 10.查看npm安装信息和版本号
转自:http://www.runoob.com/nodejs/nodejs-express-framework.html 你可以使用以下命令来查看所有全局安装的模块: $ npm list -g ├ ...
- 1.Node.js
转自:http://www.runoob.com/nodejs/nodejs-tutorial.html 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基 ...
- Restlet 学习笔记
摘要:网络上对 restlet 的评判褒贬不一,有的说框架封装的很好,很有弹性,有的说 rest 架构风格本身是一种简单的风格,restlet 过设计以使编程过于复杂,其实我倒不觉得 restlet ...