最新开源DBLayer的详细介绍

互联网 17-6-23
DBLayer,我最近开源的数据库轻量级orm框架,目前支持sqlserver、mysql、oracle, 特别做了分页的封装。

这个框架从七八年前开始逐渐升级而来,也经历了不少项目,希望可以将大家从sql字符串中解放出来。

开源地址

访问代码案例

var id = TheService.InsertEntity<SysLog, long>(          () => new SysLog()          {              LogId = -1,              LogContentJson = "测试",              LogCreater = "测试",              LogCreateTime = DateTime.Now,              LogType = "1"});
分页操作
        /// <summary>/// 分页查询/// </summary>/// <param name="condition">查询条件</param>/// <returns></returns>public IEnumerable<SysUser> Seach(SysUserCondition.Search condition)          {var page = new Pager<SysUserCondition.Search>()              {                  Condition = condition,                  Table = "sys_user",                  Key = "user_id",                  Order = string.Empty,                  Field = "*",                  WhereAction = (Condition, Where, Paramters) =>{if (!string.IsNullOrEmpty(Condition.UserName))                      {                          Where.Append("AND user_name LIKE @user_name ");                          Paramters.Add(base.CreateParameter("@user_name", string.Concat("%", Condition.UserName, "%")));                      }if (!string.IsNullOrEmpty(Condition.UserEmail))                      {                          Where.Append("AND user_email LIKE @user_email ");                          Paramters.Add(base.CreateParameter("@user_email", string.Concat("%", Condition.UserEmail, "%")));                      }if (!string.IsNullOrEmpty(Condition.UserMobile))                      {                          Where.Append("AND user_mobile LIKE @user_mobile ");                          Paramters.Add(base.CreateParameter("@user_mobile", string.Concat("%", Condition.UserMobile, "%")));                      }                  }              };var result = base.GetResultByPager<SysUser, SysUserCondition.Search>(page);return result;          }

推荐和spring 配合使用,具体配置代码请进入源码查看。

同时在spring 配置多个数据库连接,支持数据库连接字符串密码加密。只需要在 passwordKey加入密钥

  <object id="sql_wxius_string_server" type="DBLayer.Core.ConnectionString, DBLayer.Core" singleton="true">      <property name="Properties">        <name-values>          <add key="userid" value="sa" />          <add key="password" value="***" />          <add key="passwordKey" value="" />          <add key="database" value="wxius" />          <add key="datasource" value="." />        </name-values>      </property>      <property name="ConnectionToken" value="Password=${password};Persist Security Info=True;User ID=${userid};Initial Catalog=${database};Data Source=${datasource};pooling=true;min pool size=5;max pool size=10" />    </object>

数据库唯一标识除了可以数据自动编码,还支持在代码端自动 生成 GUID 和 时间点。下面代码是uuid,时间点并按照顺序生成的自动编号

  <object id="uuidGenerator" type="DBLayer.Persistence.UUIDGenerator, DBLayer.Persistence" singleton="true" >      <!--workerId:区域(机房):3 bits-->      <constructor-arg name="workerId" value="1"/>      <!--regionId:机器编号:10 bits-->      <constructor-arg name="regionId" value="1"/>      <!--twepoch:基准时间:Thu, 04 Nov 2010 01:42:54 GMT-->      <!--(long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds-->      <constructor-arg name="twepoch" value="1288834974657"/>    </object>

以上就是最新开源DBLayer的详细介绍的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 开源
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:C#中匿名委托以及Lambda表达式的实例详解

相关资讯