• SpringBird Erp系统快速开发平台


      SpringBird Erp系统快速开发平台基于通用的三层架构,数据访问层采用了无Sql注入风险的IBatis.net,表现层采用了微软最新的Asp.net mvc3 Razor模板解析引擎和轻量级的Jquery easyui,服务层采用了接口编程,整体使用成熟可靠的Ioc、Aop框架Spring.net进行服务层、数据访问层和表现层之间的整合。讨论qq:2262366309

      工欲善其事,必先利其器。而SpringBird代码生成工具就是必不可少的利器。

      1、SpringBird代码生成器的分层架构。Contract目录中放服务接口,Dao目录中放数据访问Dao,Entity目录中放数据实体,Impl目录中放服务实现类

      2、获取数据库服务器使用OleDb的GetOleDbSchemaTable方法

    1 /// <summary>
    2 /// 获取架构
    3 /// </summary>
    4 /// <param name="connectionString">连接串</param>
    5 /// <param name="type">类型</param>
    6 /// <param name="restrictions">限制集合</param>
    7 /// <returns>架构</returns>
    8   public DataTable GetSchema(string connectionString, Guid type, object[] restrictions)
    9 {
    10 DataTable result = null;
    11 using (OleDbConnection connection = new OleDbConnection(connectionString))
    12 {
    13 connection.Open();
    14 result = connection.GetOleDbSchemaTable(type, restrictions);
    15 }
    16
    17 return result;
    18 }

      3、模板定义使用NVelocity模板引擎,下图为服务接口ITableService.cs.vm

    1 using System.Collections;
    2 using System.Collections.Generic;
    3 using ${solution}.Entity;
    4
    5 namespace ${solution}.Contract
    6 {
    7 /// <summary>
    8 /// ${table.Description}服务
    9 /// </summary>
    10 public interface I${table.Alias}Service
    11 {
    12 /// <summary>
    13 /// 获取${table.Description}集合
    14 /// </summary>
    15 /// <param name="parameters">参数集合</param>
    16 /// <returns>${table.Description}集合</returns>
    17 IList<${table.Alias}> Get${table.Alias}s(IDictionary parameters);
    18
    19 /// <summary>
    20 /// 移除${table.Description}
    21 /// </summary>
    22 /// <param name="${key.CamelAlias}">${key.Description}</param>
    23 void Remove${table.Alias}(${key.Type} ${key.CamelAlias});
    24
    25 /// <summary>
    26 /// 保存${table.Description}
    27 /// </summary>
    28 /// <param name="${table.CamelAlias}">${table.Description}</param>
    29 void Save${table.Alias}(${table.Alias} ${table.CamelAlias});
    30 }
    31 }

      4、表现层使用WinForm开发,编辑时使用了PropertyGrid,运行效果如下

  • 相关阅读:
    Go基础系列:双层channel用法示例
    shell脚本动画小工具
    Go基础系列:channel入门
    python面向对象入门(1):从代码复用开始
    python包导入细节
    python模块导入细节
    Go基础系列:读取标准输入
    黄聪:C#获取网页HTML内容的三种方式
    黄聪:如何正确在Vue框架里使用Swiper
    黄聪:C#使用GeckoFx拦截监控Http数据
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2086583.html
Copyright © 2020-2023  润新知