这个框架从七八年前开始逐渐升级而来,也经历了不少项目,希望可以将大家从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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。