首页天道酬勤vc运行库官方下载(c代码生成器)

vc运行库官方下载(c代码生成器)

admin 11-30 16:42 158次浏览

遗留问题

上一篇文章留下了三个问题。

如何处理jdbcType和javaType之间的映射?生成非基本数据类型的域对象时该怎么办?java命名约定和数据库命名约定呢?00-1010对于问题1:我的第一反应是像mybatis这样的orm框架也必须处理这个问题。他用typeHandler实现映射,所以我看了相关代码,发现他的jdbcType是声明代码的枚举值。至于这段代码是如何映射到数据库的数据类型,还是个未知数,所以我声明了常量来做判断,主要分为String、bigDemical、date和integer。(非常低,但非常有效)

问题2:现在我已经声明了JDBCType的常量,让我们继续进行判断。只需通过数组维护它,并将其写入模板。

问题3:这个问题没什么好说的。我可以通过代码处理解决,但是第一天就说freemarker包含丰富的内置函数,为什么不通过他处理呢?

00-1010这里的库指的是mysql数据库,和其他关系数据库应该没什么区别。

我的实现思路如下。

获取表的基本信息、表名、表注释和字段信息。您可以维护一个要填写的表格,也可以通过information_schema获取我需要的附加信息。表,信息模式。COLUMNS,如类名、作者、类用途等。(如上一篇文章所述),甚至定义当前表和其他表之间的关系。所以我肯定需要维护一个配置表。将freemarker的输出流封装到zip中,最后输出到response进行下载。00-1010我通过mybatis获得了表数据,所以我不会发布这段代码。

将freemarker的输出流封装到zip中。

writer out=Ftlutil . GenFile(gentable config,' entity . Ftl ');

byteearrayoputstream outputStream=new byteearrayoputstream();

ZIpOutputStream ZIp=new ZIpOutputStream(OutputStream);

zip.putNextEntry(新的ZipEntry(' entity . Java '));

IOUtils.write(out.toString(),zip,' UTF-8 ');

IOUtils.closeQuietly悄悄地(出去);

zip . flush();

zip . closeentry();

IOUtils.closeQuietly悄悄(zip);

提供zip文件作为api供下载。

@ApiOperation('代码生成')

@PostMapping('code/gen ')

public response entity gen code(@ RequestBody GenTableEvt GenTableEvt)引发IOException,TemplateException(

byte[]data=gencodeservice . gencode(genTableEvt);

Httpheaders Httpheaders=new Httpheaders();

添加('内容-处置','附件;filename=\ \ ' ruoyi . zip \ \ ' ');

httpaders . add(' Content-Length ',' data . Length);

httpaders . setcontenttype(MediaType。APPLICATION _ OCTET _ STREAM);

返回新的响应实体(数据、httpHeaders、HttpStatus。OK);

}

到目前为止,配置驱动模板生成的整个过程已经完成,每个团队都可以根据自己的需求定制自己的模板,包括controller、service、dao、mapper.xml甚至前端文件。

但是还剩下一个大坑。如何维护?如果模板推广了,中间发现了一些问题,不是每个项目都要改吗?

目前,我的想法是

情况一:只做最简单的事情,不增加任何额外的事情。这种方式,风险很小,无需考虑维护,但效果有限。

情况二:增加一些钩子函数,比如一般的AOP,过滤器,已经实现了,但是以后可能会改变。这需要维护。

我需要一个父pom,其中放置了所有的公共类。pom可以通过maven命令进行更新。我可以考虑写一个shell脚本,团队可以通过jenkins shell脚本进行更新。这解决了内部代码更改的问题。我需要编写python脚本,将代码拉到本地区域,然后遍历可能有公共模板代码的地方并修改它。这是有风险的,尤其是当项目很复杂的时候(项目很复杂,一切都有风险)。因此,也有必要通过jenkins的模板构造,它只解决了模板代码的问题。在团队开发中,还需要管理代码块并为模板工程生成支架。

讲完了和平与爱

创建CSS闪烁的眼睑效果
图论的图有哪些(图论轮图) c语言定义指向函数的指针(c语言返回函数指针的函数)
相关内容