java代码生成器--紫枫凝潇烟自主开发的代码生成器

原创 2007年09月12日 11:55:00

如果能把项目中大量的代码编写工作变得轻松,是多好的一件事!
在velocity出现之后,我突然有个想法,利用velocity这个优秀的模板引擎,把开发项目中的重复代码让它自动生成
生成之后的基础代码,按照实际的需求稍作修改便可以运行,极大的提高工作效率。
于是写了这个代码生成工具(代码生成的模板引擎部分是在以前一位同事的代码基础上扩展的)
目前第二版,是读取指定数据种类和数据库的表,把每个表按照模块生成三层结构的代码
包括:bean,controller,service,serviceimpl,dao,daoimpl
缺点与不足在于 与模板文件耦合度较高,模块文件只能在我提供的模板上做少量修改


以前第一版时是读取一个项目中的bean这个包的JavaBean,把每个bean按照模块生成三层结构的代码
而且javaBean要预先使用myeclipse等工具从数据库导出javaBean或者手工写javaBean


使用注意事项:
1.准备好数据库以及JDBC驱动包
2.数据库中建好项目所用的表
3.目前只能使用我提供的示例模板文件(以vm为扩展名的文件),可作少量修改

gavin(张逸轩) QQ 106128696 

部分代码如下

List<String> list = tableNames;
            
if (list == null || list.size() == 0{
                
                
throw new Exception("无法创建Javabean");
            }

            completeStatus 
= false;
            
int listSize = list.size();
            totalFileCount 
= listSize * taskList.size();
            
int taskSize = taskList.size();
            BeanUtil beanUtil 
= new BeanUtil();
            
for(int k=0;k<taskSize;k++){
                
if(threadStatus.equals(ThreadStatus.Stop))
                    
break;
                
while(threadStatus.equals(ThreadStatus.Pause)){
                    Thread.sleep(
100);
                }

                String directoryName 
= "";
                String fileName 
= "";
                directoryName 
= splitDirectory(taskList.get(k)[1], false);
                
for (int i = 0; i < listSize; i++{
                    
if(threadStatus.equals(ThreadStatus.Stop))
                        
break;
                    
while(threadStatus.equals(ThreadStatus.Pause)){
                        Thread.sleep(
100);
                    }

                    String beanFileName 
= list.get(i);
                    VelocityContext context 
= new VelocityContext();
                    context.put(
"name", beanFileName);
                    context.put(
"packageName", taskList.get(k)[1]);
                    
                    
                    
//create Bean
                    if(k==0){
                        List
<FieldInfo> beanFieldList = beanUtil.getBeanInfo(beanFileName);
                        context.put(
"beanFieldList",beanFieldList);
                    }
else{
                        String lowerCaseFileName 
= beanFileName.substring(01)
                                .toLowerCase()
                                
+ beanFileName.substring(1);
                        context.put(
"parameter", lowerCaseFileName);
                        context.put(
"modeName", modeName);
                        context.put(
"pack", bean);
                    }

                    Template template 
= null;
                    template 
= Velocity.getTemplate(taskList.get(k)[0]);
                    fileName 
= directoryName + File.separator + beanFileName + taskList.get(k)[2]
                            
+ ".java";
                    File directoryFile 
= new File(directoryName);
                    
this.out(outPanel, "创建文件:......" + fileName
                            
+ " ");
                    bar.setValue(
1000*(k*listSize+(i+1))/totalFileCount);
                    
if (!directoryFile.exists()) {
                        
this.out(outPanel, "创建目录:......" + directoryFile
                                
+ " ");
                        directoryFile.mkdirs();
                    }

                    BufferedWriter writer 
=  new BufferedWriter(
                            
new FileWriter(fileName));

                    
if (template != null)
                        template.merge(context, writer);

                    writer.flush();
                    writer.close();

                }

            
            }

            
if(threadStatus.equals(ThreadStatus.Run))
                completeStatus 
= true;
这是主要创建部分的代码,其它GUI的代码太多,不便一一列举,代码生成器1.5版Bate版是暂时的稳定版本,欢迎有兴趣的同志们试用,更欢迎提出意见或者建议,下面是下载地址,不过运行需要jdk6
12115326935.rar

相关文章推荐

JavaFast技术特点介绍-企业级JAVA快速开发平台, 内置java代码生成器

JavaFast是一款基于代码生成器的智能快速开发平台,可以帮助解决java项目中80%的重复工作,让开发者更多关注业务逻辑。 既能快速提高开发效率,帮助公司节省人力成本,同时不失灵活性。 可以应用在...

企业级开发的JAVA代码生成器-java快速开发平台源码版

JavaFast是一款基于代码生成器的智能快速开发平台,可以帮助解决java项目中80%的重复工作,让开发者更多关注业务逻辑。 既能快速提高开发效率,帮助公司节省人力成本,同时不失灵活性。 可以应用在...

告别无止境的增删改查:Java代码生成器

告别无止境的增删改查:Java代码生成器 对于一个比较大的业务系统,我们总是无止境的增加,删除,修改,粘贴,复制,想想总让人产生一种抗拒的心里。那有什么办法可以在...

表情自动生成器java代码实现

前几天在其他网站上看到一个表情自动生成器,自己就试着做了一下,先看下效果。(目前可以处理 臣妾真的做不到啊、妈妈再打我一次、王宝强泰囧三张图片,如想处理其他图片,在类 cn.lulei.util.im...

java代码生成器

Java 生成器 rapid-generator 配置   rapid-generator 资源 http://code.google.com/p/rapid-framework/     ...

一个java代码生成器的简单实现

最近,一直跟着公司技术牛人在搞大数据相关的东西,主要涉及的是环境搭建,同时也了解下整个hadoop生态系统相关的东西,真是让我大开眼界,这个在之后的博文中再来与大家分享。...

公布一个Bean和Json互转的Java代码生成器

因为我们的业务中很多地方使用JSON作为数据交换的格式,之前对比过Java中各个JSON组件,使用JSONObject的方式效率最高,但是也是最麻烦的,因为要自己手动写Bean和Json数据的转换代码...
  • Hatrim
  • Hatrim
  • 2011年06月11日 21:59
  • 614

java代码生成器 springMVC SSM 操作日志 4级别联动 文件管理 头像编辑 shiro redis

A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节 B 集成代码生成器 [正反双向](单表、主表、明细表、树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不...

邀请码生成器Java代码

import java.util.Random;   /**  * 邀请码生成器,算法原理:  * 1) 获取id: 1127738  * 2) 使用自定义进制转为:gpm6  *...
  • coolybq
  • coolybq
  • 2015年10月30日 15:10
  • 3026

Java代码生成器--告别无止境的增删改查

有感于马上要做个比较大的业务系统,想到那无止境的增删改查、粘贴复制,顿时脑后升起一阵凉风。于是想到个找或者写一个Java代码的生成器,这样在正常开发进度下,也能余下更多的时间去做些别的事情。   闲...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java代码生成器--紫枫凝潇烟自主开发的代码生成器
举报原因:
原因补充:

(最多只允许输入30个字)