(二)autoCode代码生成系统设计思路

先来看下一个普通的pojo类由哪几部分组成

  • 类名(表名)
  • 属性名(字段名)
  • 属性类型(字段类型)

因此,只要我们想办法获取到表结构的一些信息,然后把这些信息拼装成对应的java类信息即可.

就Mysql数据库来说,获取一个数据库中的表名的SQL是:SHOW TABLES

如图所示,这里我查询了autoCode自己的数据库

数据库表名获取到了,接着我们应该获取一张表里面的所有字段信息,mysql对应的SQL是:DESC 表名

如图所示,我们查询了datasource_config表的信息.其中字段名,字段类型,主键,自增都可以得到

我们只要把这些信息放在对应的java类里面就可以使用了.系统对应的是ColumnDefinition类

一个类代表一个字段的信息,因此所有字段的信息我们应该用List<ColumnDefinition>来保存

 

我们得到了表名以及字段信息,现在要做的是把这些信息放到velocity上下文中去

然后通过模板来来生成代码

private String doGenerator(SQLContext sqlContext,String template){
		VelocityContext context = new VelocityContext();
		
		context.put("context", sqlContext);
		context.put("table", sqlContext.getTableDefinition());
		context.put("pkColumn", sqlContext.getTableDefinition().getPkColumn());
		context.put("columns", sqlContext.getTableDefinition().getColumnDefinitions());
		
		return VelocityUtil.generate(context, template);
	}

这里是GeneratorService类中的一个方法,SQLContext中存放了表名,字段信息

然后安装事先约定好的velocity语法生成内容.String template是模板内容

代码生成完后直接返回到前台页面即可
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自动代码生成器(Autocode)是一种可以帮助开发人员快速生成代码的工具。它基于一系列的规则和模板,根据用户定义的条件和需求,自动地生成所需的代码。 自动代码生成器可以应用于各种编程语言和开发环境,如Java、Python、C#等。它通过识别用户的输入和需求,自动分析并生成相应的代码结构、语法和逻辑。这样,开发人员就可以减少繁琐的手动编写代码的重复劳动,从而提高开发效率和质量。 使用自动代码生成器,首先需要定义好生成的代码的规则和模板。这些规则和模板包括了各种条件判断、循环结构、函数定义等。然后,开发人员根据需要输入具体的数据或设置特定的条件。自动代码生成器会根据这些输入自动生成符合要求的代码。 通过使用自动代码生成器,开发人员可以节省大量的时间和精力。它可以帮助快速生成常用或重复的代码片段,减轻了人工编码的工作量,降低了出错的概率。同时,它还提供了可定制化的功能,可以根据具体的项目需求进行开发。 然而,自动代码生成器并非完全自动化解决方案。尽管它可以生成大部分的代码,但对于某些复杂或具有特殊逻辑的代码,仍然需要开发人员手动编写。此外,自动生成的代码可能需要进行进一步的修改和调整,以适应具体开发环境和需求。 总而言之,自动代码生成器是一种能够帮助开发人员快速生成代码的工具。它可以提高开发效率和质量,减少开发工作量。然而,在使用自动代码生成器时,仍然需要开发人员具备一定的编程知识和技能,以便在生成的代码基础上进行进一步的修改和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值