【技术实现步骤摘要】
基于数据库和Mustache模板引擎的生成代码方法
[0001]本专利技术涉及IT数据开发领域,特别涉及基于数据库和Mustache模板引擎的生成代码方法。
技术介绍
[0002]随着科技的飞速发展及社会生活节奏的日益提高,用户对于常用的软件使用的度和要求也随之变高,这促使企业不断更新迭代产品优化用户体验效果。
[0003]在项目开发过程中业务人员在进行业务逻辑的代码开发时都是重新从数据库设计、接口设计、服务设计、数据层设计、对象实体类设计来的大部分时间花在了重复编辑相似内容,增加了大量的重复和复杂的流程。
[0004]目前市面上也存在几款生成工具,但往往都是针对特定的架构、特定的场景才能实现自动生成相应的代码,没有针对整个前后端流程代码开发的自动生成代码文件的方法,为了能更好的解适用基于大众项目架构自动生成代码文件方法或系统,对代码生成方法的创新与拓展变得尤为重要。
[0005]频繁的迭代,快速的版本呈现,项目组开发成员压力不断增加,现有技术的上述方式所需的开发人员工作量大,版本上线时间长,因此一种 ...
【技术保护点】
【技术特征摘要】
1.基于数据库和Mustache模板引擎的生成代码方法,包括数据库数据读取模块,模板文件创建模块,Mustache模板引擎解析模块和文件输出模块四个功能模块,其特征在于,包括以下步骤:S1、用户根据业务需要提前创建好所需数据库表结构信息;S2、根据项目结构为需求创建模板代码文件,包括后端所涉及的数据库持久层相关映射代码模板mapper.xml、持久层处理代码模板mapper.java、实体类BO代码模板entity.java、业务逻辑层处理代码模板service.java,以及前端所涉及的页面文件包含并不限于html,vue,js等前端页面代码文件;S3、通过JdbcTemplate读取配置文件连接数据库读取表结构信息,存储于数据结构之中;S4、通过Mustache模板引擎解析替换模板内容生成所需代码,将生成的代码输出到对应的路径下;S5、对创建更新的代码进行编译运行发布到服务器。2.根据权利要求1所述的基于数据库和Mustache模板引擎的生成代码方法,其特征在于,步骤S1中描述数据库不限于常用的mysql,oracle,pgsql等数据库,数据库表结构根据业务需求内容设计好相应的字段。3.根据权利要求1所述的基于数据库和Mustache模板引擎的生成代码方法,其特征在于,步骤S2中描述的模板方案基于不限定于任何框架,根据自身项目需求及项目结构生成所需项目代码文件,包含:S2.1:项目结构中持久层相关代码模板的设计创建,模板名称mapper.xml主要包含xml的约束相应的增删改查等相关需求方法,需要的表名及字段使用"{{XXX}}"替换;模板名称mapper.java是一个Class对象结构包含与mapper.xml相应的方法,引入的Jar包结构及相关BO内容使用"{{XXX}}"替换;S2.2:项目结构中业务逻辑层处理代码模板的设计创建,模板service.java是一个Class对象结构包含对外接口调用的相应方法,相应的入参出参以及实体DTO用模板字符串"{{XXX}}"替换;S2.3:项目结构中实体类代码模板的设计创建,模板entity.java实体类BO代码文件通过{{/idColumn}}、{{^idColumn}}循环与数据库表结构字段一一对应;S2.4:项目结构中前端文件模板的设计创建,页面模板文件default.html或者page.vue用"{{XXX}}"替换调<div>中的字段内容,前端逻辑JS文件api.js用"{{firstUp}}"等替换相关内容。4.根据权利要求1所述的基于数据库和Mustache模板引擎的生成代码方法,其特征在于,步骤S3描述通过JdbcTemplate读取配置文件连接数据库读取表结构信息,JdbcTemplate是对JDBC数据库交互操作进行封装,其主要封装了JDBC的加载驱动创建数据库DataSource数据源DriverManagerDataSource,注入JDBC驱动步骤为DriverManagerDataSource属性注入DriverClassName;包括以下:S3.1:通过new JdbcTemplate()方法创建JdbcTemplate对象,传入设计好的连接池信息包含步骤S1设计好的表名信息以及数据库的链接地址:"jdbc:mysql://127.0.0.1:3360/xxx?useUnicode=true&characterEncoding=UTF
‑
8"等内容;
S3.2:编写好查询表结构信息语句"SELECT column_name`name`,column_comment`label`,data_type`type`,COLUMN_KEY`key`,EXTRA FROM information_schema.columns WHERE table_name=
‘
XXX
’
and table_schema=
‘
XXX
’
...
【专利技术属性】
技术研发人员:马梦诗,褚帆,冀建东,
申请(专利权)人:天翼电子商务有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。