SpringBird Erp系统快速开发平台之利器-SpringBird代码生成器
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,运行效果如下
作者: SpringBird Erp系统快速开发平台 发表于 2011-06-21 22:55 原文链接
推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架