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 ///
2 /// 获取架构 3 /// 4 /// 连接串
5 /// 类型
6 /// 限制集合
7 ///
架构 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 ///
8 /// ${table.Description}服务 9 ///
10 public interface I${table.Alias}Service
11 {
12 ///
13 /// 获取${table.Description}集合
14 ///
15 /// 参数集合
16 ///
${table.Description}集合
17 IList<${table.Alias}> Get${table.Alias}s(IDictionary parameters);
18 19 ///
20 /// 移除${table.Description}
21 ///
22 /// ${key.Description}
23 void Remove${table.Alias}(${key.Type} ${key.CamelAlias});
24 25 ///
26 /// 保存${table.Description}
27 ///
28 /// ${table.Description}
29 void Save${table.Alias}(${table.Alias} ${table.CamelAlias});
30 }
31 }
4、表现层使用WinForm开发,编辑时使用了PropertyGrid,运行效果如下
延伸阅读
- 2011-9-22-- 知羽模板生成器,从T4模板引擎到自己的代码生成器(1)
- 2010-11-24-- 代码生成器,从数据到代码—通过代码生成机制实现强类型编程[下篇]
- 2010-11-24-- 鬼剑士t4代码,从数据到代码—基于T4的代码生成方式
- 2010-11-24-- 代码生成器,从数据到代码—通过代码生成机制实现强类型编程[上篇]
- 2010-12-15-- 代码生成器,2条路 代码生成 or 配置
- 2011-6-10-- 代码生成器,信息化基础建设 改善代码生成
- 2011-6-15-- t4代码生成器,Visual Entity 教程(四)使用 T4 生成代码
- 2010-12-9-- mssql日期,MSSQL 生成日期列表代码
- 2011-5-25-- 动软代码生成器,动软代码生成器之 模板功能介绍
- 2011-2-21-- 代码生成器,浅谈代码生成器
最新评论