`
xinyangwjb
  • 浏览: 81811 次
  • 性别: Icon_minigender_1
  • 来自: 信阳
社区版块
存档分类
最新评论

java代码自动生成三(freemarker)

 
阅读更多
接上一篇博客http://xinyangwjb.iteye.com/blog/1420708
将表信息转化成java文件,第一件事是列名与java字段名的转化:
      按照java编程习惯,如果属性名有两个以上字母组成,则从第二个字母开始,首字母必须大写。
      因此如果列名为import_count,要去掉下划线,转化为importCount属性名。
      如果数据库名本身就是importCount,则可以直接将列名赋值给属性名。
      Date类型默认是java.sql.Date,需要先转化为java.util.Date,
      number类型默认是java.math.BigDecimal,需要先转化为java.lang.Long
第二件事是定义一个

Map<String,Object> rootData = new HashMap<String,Object>();

将所有要往flt模板中填的字段都塞进这个rootData,这根据不同人的编码习惯自定义。这是个超级体力活!!!模板中的字段要一点点拼出来。
第三件事是启用freemarker的模板功能,将自定义的填充字段塞进flt模板中

/**@模板所在文件夹路径templatePath
 *@模板名templateName
 *@fileName新建java文件所在文件夹路径 
 *@rootData往flt模板中填的Map数据
*/
freemarker.template.Configuration config = new    freemarker.template.Configuration(); 
          config.setDirectoryForTemplateLoading(new File(templatePath));   
          config.setObjectWrapper(new DefaultObjectWrapper());
          FileOutputStream fos = new FileOutputStream(fileName);
          Writer writer = new OutputStreamWriter(,"UTF-8");
          template.process(rootData , writer );

到这里算完成了,但是flt的编写也是非常累的体力活 我先写了一个dao.flt
package ${packageName}.dao;

import ${packageName}.${moduleName};
import java.util.List;
import java.util.Map;

public interface ${moduleName}DAO 
{
	/**
     *
     * @${author} ${datetime}
     */
    public Long add${moduleName}(${moduleName} example);

    /**
     *
     * @${author} ${datetime}
     */
    public boolean deleteByPrimaryKey(${primaryFiled.fieldJavaType} ${primaryFiled.fieldName});
    
    /**
     *
     * @${author} ${datetime}
     */
    public boolean update${moduleName}( ${moduleName} example);
    
    /**
     *
     * @${author} ${datetime}
     */
    public ${moduleName} get${moduleName}ById(Long id);
    /**
     *
     * @${author} ${datetime}
     */
    public PageInfo<${moduleName}> get${moduleName}List(${moduleName} example);
    /**
     *
     * @${author} ${datetime}
     */
    public int delete${moduleName}ByIds(String ids);
    
}

总之实现技术很简单,但是ftl模板和往模板中填充的数据的拼接是个超级体力活,我估计需要一个月的业余时间来实现这些东西!!!
分享到:
评论

相关推荐

    Java代码自动生成 freemarker

    综上所述,使用FreeMarker进行Java代码自动生成是一种高效且高质量的开发方式,它可以帮助开发者避免手动编写重复代码,提高代码的可读性和可维护性。理解并熟练运用FreeMarker模板语法和API,是提升开发效率的关键...

    基于freemarker的JAVA代码生成工具

    "基于Freemarker的JAVA代码生成工具"就是这样一种实用的工具,它能够根据数据库中的表结构自动生成相应的Java源代码。 **Freemarker简介** Freemarker是一个强大的模板引擎,它支持动态语言,常用于生成HTML页面...

    Java利用Freemarker模板自动生成dto、dao、rowmapper、bo、service代码

    总的来说,Java利用Freemarker模板生成代码是一种常见的自动化开发实践,它提高了开发效率,降低了出错概率,让开发者能更专注于业务逻辑的实现,而不是基础架构的搭建。通过理解和掌握这一技术,开发者可以更好地...

    java代码自动生成.txt数据文件

    Java代码自动生成是一个高效且实用的编程技巧,它可以帮助开发者减少重复劳动,提高代码质量和开发效率。在Java中,可以通过各种方式实现代码自动生成,包括使用模板引擎、元编程技术以及利用第三方库。以下将详细...

    Java FreeMarker+Maven实现代码自动生成

    Java FreeMarker+Maven 实现代码自动生成是一个高效且灵活的方法,可以帮助开发者节省大量手动编写重复性代码的时间。FreeMarker 是一个强大的模板引擎,而Maven作为项目构建工具,能够帮助我们管理和组织项目的构建...

    java 代码自动生成

    Java代码自动生成是一种提高开发效率的方法,通过自动化工具或框架,可以快速地生成常见的DAO、Service、Bean、XML配置以及View和Controller等代码模块。在Java开发中,这些组件是构成一个完整应用的基础架构,手动...

    使用FreeMarker生成java代码

    这篇博客文章“使用FreeMarker生成java代码”深入探讨了如何利用FreeMarker来自动化Java代码的生成过程,从而提高开发效率。 FreeMarker的工作原理是将设计模式(模板)与数据模型结合,模板中包含了一系列控制结构...

    java 代码自动生成器

    Java代码自动生成器是一种工具,它能够帮助程序员快速地生成基于特定模板或规则的Java源代码,极大地提高了开发效率和一致性。这样的工具尤其适用于大型项目,或者需要大量重复性编码的工作,例如数据模型、DAO层、...

    autoCode java 项目代码 自动生成

    从标签"autoCode java 项目代码 自动生成"我们可以进一步推断,这个项目的核心功能是自动化生成Java代码,可能是通过解析数据库模式(例如:表结构、字段类型等)来生成对应的实体类、Mapper接口及XML配置、Service...

    java代码自动生成.rar

    Java代码自动生成技术是一种高效的软件开发工具,它能够根据预定义的模板或规则自动生成符合特定需求的源代码。在给定的“java代码自动生成.rar”压缩包中,我们推测包含了一个名为“generator”的程序或者库,它...

    java 根据数据表实现增删改查代码自动生成

    这个主题“java 根据数据表实现增删改查代码自动生成”主要关注如何利用Java工具或框架,根据数据库中的数据表结构,自动生成对应的业务操作代码,以减少手动编写的工作量,确保代码的一致性和准确性。 1. **代码...

    java代码自动生成工具

    java代码自动生成工具: 1.根据Mysql数据库的表生成java实体类,包括注释 2.将Excel表格数据生成java实体类,包括注释 3.包括源文件和生成好的jar工具,和示例文件 技术: java、log4j、poi表格操作、jdbc数据库操作...

    java项目代码生成工具

    Java项目代码生成工具是一种高效的开发辅助工具,它利用模板引擎技术来自动化生成常见的Java代码,如控制器(Controller)、服务(Service)以及其实现类(ServiceImpl)。在这个特定的案例中,工具使用了FreeMarker...

    java代码自动生成,模版式工程单表的增删改查接口控制器等

    总结来说,"java代码自动生成,模版式工程单表的增删改查接口控制器等"是一个旨在简化Java开发的工具,通过配置数据库连接和自定义Freemarker模板,可以快速生成标准的CRUD代码,为日常开发工作带来便利。...

    最快速的java代码生成器 rapid-generator

    "最快速的Java代码生成器 Rapid-Generator"是一款专为Java开发者设计的高效工具,旨在提升开发效率,减少手动编写重复代码的工作量。这款工具以其快速、灵活和强大的自定义能力在Java开发社区中受到广泛关注。 ...

    自动生成java代码

    总结来说,利用FreeMarker自动生成Java代码是现代软件开发中的一个重要实践,它可以帮助开发者专注于业务逻辑和复杂问题,而不是琐碎的代码复制粘贴。通过精心设计的模板和数据模型,可以快速构建出符合规范的MVC...

    java 代码生成器

    Java代码生成器是一种工具,它能够自动化地根据特定的模板或规则创建Java源代码,极大地提高了开发效率,降低了手动编写代码可能出现的错误。这个“java代码生成器”可能基于一些预定义的模板或者通过元数据来动态...

    Java一键生成代码到controller层【源码】

    3、可大大提高开发效率,数据表创建完以后,自动生成entity,mapper.xml,dao,service,controller,vo,dto相关代码。 4、本项目集成了spring,aop,mybatis plus,swagger2,异常处理,分页,freemarker等多种技术。 5、操作...

    java代码生成工具

    在Java代码生成工具中,MyBatis的相关Mapper XML文件和Mapper接口会被自动生成,便于与数据库进行交互。 4. **Bootstrap**: Bootstrap是Twitter开源的一个前端框架,提供了丰富的CSS和JavaScript组件,用于构建响应...

    java代码生成器

    Java代码生成器是一种工具,它能够自动生成符合特定规范或模式的Java源代码,从而极大地提高了开发效率。这种工具在处理大量重复性编码工作时尤为有用,让开发者能将更多精力集中在业务逻辑和新技术探索上。 Java...

Global site tag (gtag.js) - Google Analytics