最新開源DBLayer是什么意思?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
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是什么意思問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。