最新開源DBLayer的詳細介紹

來源:互聯網
上載者:User
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>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.