QQZiFramework笔记:什么是QQZiFramework?

工作了一段时间,自己手头上累积了一些常用的代码。在项目中不断地被使用。帮整理出来,开成一个类库,QQZI是本人现公司(福建圈子互联网金融服务有限公司)的简写。公司主要从事互联网金融平台,在各大平台发布了基于H5开发的app,“圈子金融”,个人觉得是一个很有意义的App,宏扬民间传统,促进民间金融健康发展。

QQZiFramework最核心的是数据访问, 属于ORMapping,但又有别,比如像hibernate和linq之类,很强大,但有点庞大,其实我们需要的东西并不多,没必要为了打只蚊子而请大炮出来。另外这些框架用多了,sql反而写不好了。

QQZiFramework还包括了用户登录认证、参数配置、异常处理、加解密、常用工具类,web表格或者列表加载数据。目前主要应用在mvc的项目中,其它项目没做支持,不过还是容易扩展的

一般我们会对项目分层,经典的分层是UI ->业务层->数据层。但有时候会碰到,我们处理一个逻辑的时候,可能不局限于访问一个业务层的类方法,但我们一般在每个业务层单独调数据访问,开启和关闭连接,事务也是一样。所以为时候一个全局的数据访问控制就很有必要。


erp.public.js前端
DBContext控制器
业务层

erp.public.js是表格类,在移动端会自动显示为列表,带分页,支持增删改查。单表维护的话,只需要简单的调用。后面会讲解

DBContext惯穿整个后端,在控制层使用

        [HttpPost]
        public JsonResult Schedule_post()
        {
            JsonMessage jm = new JsonMessage();
            string times = GetParamValue("time", 0, true).ToString();
            int id = GetParamValue<int>("id", true);
            string[] array = times.Split(new char[1] { '|' });
            using (DBContext context = new DBContext(true))
            {
                context.GetBusiness<RMBDrivers>().SaveSchedule(id, array);
                context.Commit();
            }
            jm.Result = id;
            return Json(jm, JsonRequestBehavior.AllowGet);
        }


JsonMessage是作为返回给前台的结构,ajax返回json,结构为{Message:null,Result,null,Tip:null},Message是错误消息,Result是正确的结果,Tip是补充,一般为空

GetParamValue是获取客户端提交的参数,也就是Request里面的值,这里主要是做过滤非法输入

目光保持在Using这一段,这才是重点,这一个过程是代理有数据访问的,New DBContext(true),true代理整个过程共享一个事件,如果不传则为共享一个连接

GetBusiness是创建业务访问类,通过这种方式来保证在一个连接或者事件中,比如SaveSchedule方法中可以用Context这个属性来操作数据库,具体使用方式后面会讲到

整个过程可以有多个GetBusiness,同一类型的Business只会创建一个实例

最后如果有事务的一定要comit,否则就会rollback掉,没有事务的可以不管,跳出using后会自动释放连接


感觉csdn的编辑器用起来不爽,写的比较累,开头篇先到这

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值