DBLayer,我最近开源的数据库轻量级orm框架,目前支持sqlserver、mysql、oracle, 特别做了分页的封装。
这个框架从七八年前开始逐渐升级而来,也经历了不少项目,希望可以将大家从sql字符串中解放出来。
开源地址
https://github.com/wutao0315/DBLayer
访问代码案例
var id = TheService.InsertEntity<SysLog, long>( () => new SysLog() { LogId = -1, LogContentJson = , LogCreater = , LogCreateTime = DateTime.Now, LogType = });
分页操作分页查询 IEnumerable<SysUser> Seach(SysUserCondition.Search condition) { var page = new Pager<SysUserCondition.Search>() { Condition = condition, Table = , Key = , Order = string.Empty, Field = , WhereAction = (Condition, Where, Paramters) => { if (!string.IsNullOrEmpty(Condition.UserName)) { Where.Append(); Paramters.Add(, , Condition.UserName, ))); } if (!string.IsNullOrEmpty(Condition.UserEmail)) { Where.Append(); Paramters.Add(, , Condition.UserEmail, ))); } if (!string.IsNullOrEmpty(Condition.UserMobile)) { Where.Append(); Paramters.Add(, , Condition.UserMobile, ))); } } }; var result = base.GetResultByPager<SysUser, SysUserCondition.Search>(page); return result; }
推荐和spring 配合使用,具体配置代码请进入源码查看。
同时在spring 配置多个数据库连接,支持数据库连接字符串密码加密。只需要在 passwordKey加入密钥
<type=singleton=> <property name=> <name-values> <add key=value=/> <add key=value=/> <add key=value="" /> <add key=value=/> <add key=value=/> </name-values> </property> <property name=value=/> </object>
数据库唯一标识除了可以数据自动编码,还支持在代码端自动 生成 GUID 和 时间点。下面代码是uuid,时间点并按照顺序生成的自动编号
<type=singleton=> <!--workerId:区域(机房):3 bits--> <constructor-arg name=value=/> <!--regionId:机器编号:10 bits--> <constructor-arg name=value=/> <!--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=value=/> </object>