N层构架的特点之一就是代码的低耦合.
对于这样的代码产生方式,最恰当的方式就是生成
由于我们日常接触的多数是基于数据库的应用,因此,数据库反向代码生成,是最主要的生成方法.
以下介绍各种DB REVERSE CODEGEN:
1.sql2java
一个历史悠久,至今仍在更新的开源项目,基于ANT,velocity模板,可定制功能强大,支持当前主流数据库,内置主流框架的代码模板。
2.DAO4J
不开源,基于传统JDBC的DAO模式(vo/dao),SQL固化在DAO内,基于Velocity模板,模板不可修改,提供控制台生成与可DB客户端插件可视化生成.
3.appfuse codegen
开源,基于appfuse框架,velocity模板,可自定义,ANT方式
4.eclipsework
开源,eclipse插件,提供ECLIPSE中可视化数据库反向代码生成,基于 velocity模板技术,可自定模板与生成向导
5.ER/Studio
ER工具,VBS宏生成代码,可自定义宏。
6.CodeSmith
基于ASPX语法,可自定义,需要.NET 2.0
SQL2JAVA上手指南
要运行S2J,需要有JAVA和ANT环境.
1.首先,启动hsql数据库, “ant hsql.server”,在windows环境下则运行"START ant hsql.server ",可以在新窗口运行数据库
如果用MYSQL,请首先修改src\config\sql2java.properties,注释hsql配置,启用mysql配置。然后再启动mysql即可
2.创建数据库“ ant database.create ”
数据库会根据 src\sql\hsql\jpetstore-hsql-schema.sql创建数据表,如果是mysql,则是src\sql\mysql\jpetstore-mssql-schema.sql
3.生成java代码"ant generate",修改生成的路径和包名,打开src\config\sql2java.properties.
codewriter.package=包名
codewriter.destdir=生成路径
4.编译生成的代码:"ant compile"
5.使用示例运行Main.java :"ant run"
6.生成javadoc:"ant javadoc"
7.如果需要修改代码模板,请在src\templates\velocity下修改相应的velocity文件,你也可以添加自己的模板文件