DBLayer は、私が最近作成したオープン ソース データベースの軽量 ORM フレームワークで、現在 sqlserver、mysql、oracle をサポートしており、ページング用に特別にカプセル化されています。
このフレームワークは 7、8 年前から徐々にアップグレードされており、多くのプロジェクトを経て、皆さんを 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 では複数のデータベース接続を同時に構成し、データベース接続文字列のパスワード暗号化をサポートします。キーを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 の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。