-
Notifications
You must be signed in to change notification settings - Fork 16
Home
Welcome to the CodeGen wiki!
CodeGen是一个基于数据库的代码生成器,可以使用该程序查看数据库结构,进行简单的目录查询,生成一些简单的代码,也可以根据个人需要扩充复杂的代码.
该代码生成器支持SQLServer2000,SQLServer2005,SQLServer2008,Oracle 1g,MySQL5.5等数据库.
下面是该程序的主页面,数据库是MySQ下information_schema数据库.
该程序使用模板技术NVelocity开发,所以可以通过修改Template下面的代码而改变生成的代码.
可以生成基本的业务对象,Web的增删改差页面,基本的SQL语句,基本的国际化XML文件,老的.net框架Castle MonoRail的基于VTL的Web代码,Java的业务对象和C++的一些代码.
其实,代码生成器只是外在表现,如果想生成的代码能正常的运行,能发挥作用,还需要后台有一个框架支持,能达到将生成代码计入框架即可执行的程度最好.
本人在2007年,基于ASP.NET的前端控制器曾经开发过一个这样的框架,后来由于主要开发转向了C++,所以就没有再怎么维护.
从去年开始,又逐渐转向C#,于是将此前的框架进行整理,抽出关于数据库访问的部分,形成了几个自己的开源项目
-
HiCSDB
https://github.com/xumingxsh/HiCSDB
一个C#版的数据库交互程序,主要目标是简化C#的数据库交互操作.它有一个Java的版本(https://github.com/xumingxsh/hijdb)和一个C++的版本(https://github.com/xumingxsh/HiDB) -
HiCSUtil
https://github.com/xumingxsh/HiCSUtil
一个C#版的通用库,主要实现数据向对象的映射(想法学习自DotNetNuke-DNN),后期加上了写其他的功能,包括一个日志库,一个JSON转换库,一个通用类型类,一个AOP的实现等.它有一个Java的版本(https://github.com/xumingxsh/hijdb) -
HiSQLManager
https://github.com/xumingxsh/HiSQLManager
一个将SQL语句相关内容从代码中抽离到XML中,并根据主键访问的库,也就是一个SQL语句的缓存库,后期该库的功能有所扩展,可以缓存XML中自己期望缓存的可扩展内容.它有一个Java的版本(https://github.com/xumingxsh/hijdb)
- 其他
至于自己下力气比较多的Web相关的抽象,由于目前使用方向的关系,还没有整理,而且在应用中,也基本不实用前端控制器,而是使用MVC,以及对JavaScript理解的加深,所以该部分会有较大的改动,暂时还没有整理.只有一个依照次思路写的一个客户端程序(https://github.com/xumingxsh/HiCSClient).
最后,该程序还有一个基于Python2.7的实现,路径:https://github.com/xumingxsh/Mysql_CodeGen. 虽然表现方式与本程序不同,本质还是一致的.