首页 > 代码库 > 最新开源DBLayer,数据库操作也可以很简单
最新开源DBLayer,数据库操作也可以很简单
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 = "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="http://www.mamicode.com/sa" /> <add key="password" value="http://www.mamicode.com/***" /> <add key="passwordKey" value="" /> <add key="database" value="http://www.mamicode.com/wxius" /> <add key="datasource" value="http://www.mamicode.com/." /> </name-values> </property> <property name="ConnectionToken" value="http://www.mamicode.com/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="http://www.mamicode.com/1"/> <!--regionId:机器编号:10 bits--> <constructor-arg name="regionId" value="http://www.mamicode.com/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="http://www.mamicode.com/1288834974657"/> </object>
最新开源DBLayer,数据库操作也可以很简单
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。