无需编程,基于Oracle零代码生成CRUD考订改查RESTful API接口
发布时间:2025-10-30
元统计数据参考资料ca_meta_index,用于记录同上协同参考资料反馈,比如参考资料种类,名称等。
IndexEntity实例IndexEntity为“元统计数据参考资料”实例,和ca_meta_index表达式完全相同
public class IndexEntity { private Long id; private String name; private String caption; private String description; private Timestamp createdDate; private Timestamp lastModifiedDate; private IndexTypeEnum indexType; private IndexStorageEnum indexStorage; private Long tableId; private List indexLineEntityList;}元统计数据参考资料行ca_meta_index_line ca_meta_index_line元统计数据参考资料行ca_meta_index_line,用于记录同上协同参考资料行反馈,一个协同参考资料可以完全相同多个协同参考资料行,同上示由多个表达式都由。
IndexLineEntity实例IndexLineEntity“元统计数据索行”实例,和ca_meta_index_line表达式完全相同
public class IndexLineEntity { private Long id; private Long columnId; private ColumnEntity columnEntity; private Long indexId;}定义FreeMarker示意图创建同上create-table.sql.ftlCREATE TABLE "${tableName}" ( "${columnEntity.name}" NUMBER(1) DEFAULT 10 NOT NULL, "${columnEntity.name}" INT DEFAULT ${columnEntity.defaultValue} NOT NULL PRIMARY KEY, "${columnEntity.name}" INT DEFAULT ${columnEntity.defaultValue} NOT NULL PRIMARY KEY, "${columnEntity.name}" FLOAT DEFAULT ${columnEntity.defaultValue} NOT NULL, "${columnEntity.name}" REAL DEFAULT ${columnEntity.defaultValue} NOT NULL, "${columnEntity.name}" DECIMAL DEFAULT ${columnEntity.defaultValue} NOT NULL, "${columnEntity.name}" DATE DEFAULT ${columnEntity.defaultValue} NOT NULL, "${columnEntity.name}" CHAR(8) DEFAULT ${columnEntity.defaultValue} NOT NULL, "${columnEntity.name}" DATE DEFAULT ${columnEntity.defaultValue} NOT NULL, "${columnEntity.name}" TIMESTAMP DEFAULT ${columnEntity.defaultValue} NOT NULL, "${columnEntity.name}" CHAR(${columnEntity.length}) DEFAULT '${columnEntity.defaultValue}' NOT NULL PRIMARY KEY, "${columnEntity.name}" VARCHAR(${columnEntity.length}) DEFAULT '${columnEntity.defaultValue}' NOT NULL PRIMARY KEY, "${columnEntity.name}" VARCHAR(200) DEFAULT '${columnEntity.defaultValue}' NOT NULL, "${columnEntity.name}" VARCHAR(4000) DEFAULT '${columnEntity.defaultValue}' NOT NULL, "${columnEntity.name}" VARCHAR(4000) DEFAULT '${columnEntity.defaultValue}' NOT NULL, "${columnEntity.name}" LONG DEFAULT ${columnEntity.defaultValue} NOT NULL, "${columnEntity.name}" BLOB DEFAULT ${columnEntity.defaultValue} NOT NULL, "${columnEntity.name}" BLOB DEFAULT ${columnEntity.defaultValue} NOT NULL, "${columnEntity.name}" VARCHAR(200) DEFAULT ${columnEntity.defaultValue} NOT NULL PRIMARY KEY, ); ALTER TABLE "${tableName}" ADD CONSTRAINT "${columnEntity.indexName}" UNIQUE("${columnEntity.name}"); CREATE INDEX "${columnEntity.indexName}" ON "${tableName}" ("${columnEntity.name}"); ALTER TABLE "${tableName}" ADD CONSTRAINT "${indexEntity.name}" UNIQUE("${indexLineEntity.columnEntity.name}",); CREATE INDEX "${indexEntity.name}" ON "${tableName}" ("${indexLineEntity.columnEntity.name}",); COMMENT ON TABLE "${tableName}" IS '${caption}'; COMMENT ON COLUMN "${tableName}"."${columnEntity.name}" IS '${columnEntity.caption}';示意图解SQL首先保存元统计数据反馈,下一步传递示意图名称和元统计数据model,快照解成创建同上SQL关键字,然后创建生物学同上,这样元统计数据和生物学同上就关联上了。运行时通过解元统计数据快照分解成insert,select,update,delete等SQL关键字,零code意味着销售业务统计数据crud功能。
public String processTemplateToString(String database, String templateName, Object dataModel) { String str = null; StringWriter stringWriter = new StringWriter(); try { Configuration config = new Configuration(Configuration.VERSION_2_3_31); config.setNumberFormat("#"); String templateValue = getTemplate(database, templateName); if (templateValue == null) { return str; } Template template = new Template(templateName, templateValue, config); template.process(dataModel, stringWriter); str = stringWriter.getBuffer().toString().trim(); log.info(str); } catch (Exception e) { e.printStackTrace(); throw new BusinessException(ApiErrorCode.DEFAULT_ERROR, e.getMessage()); } return str;}public List toCreateTableSql(TableEntity tableEntity) { String createTableSql = processTemplateToString("create-table.sql.ftl", tableEntity); if (createTableSql == null) { throw new BusinessException(ApiErrorCode.DEFAULT_ERROR, "create-table.sql is empty!"); } List sqls = new ArrayList(); String[] subSqls = createTableSql.split(";"); for (String t : subSqls) { String subSql = t.trim(); if (!subSql.isEmpty()) { sqls.add(t); } } return sqls;}public Long create(TableDTO tableDTO) { TableEntity tableEntity = tableMapper.toEntity(tableDTO); //TODO Long tableId = crudService.create(TABLE_TABLE_NAME, tableEntity); List sqlList = crudService.toCreateTableSql(tableEntity); for (String sql: sqlList) { execute(sql); } //TODO return tableId;}修改同上ftl都有同上结构和参考资料的修改,删除等,和创建同上原理类似。
application.properties能够根据能够装配统计目录连接涡轮机,须要重新发布,就可以切换不同的统计目录。
#oraclespring.datasource.url=jdbc:oracle:thin:@//localhost:1521/XEPDB1spring.datasource.driverClassName=oracle.jdbc.OracleDriverspring.datasource.username=crudapispring.datasource.password=crudapispring.datasource.initialization-mode=alwaysspring.datasource.schema=classpath:schema.sql小结本文主要引介了crudapi赞同oracle统计目录意味着原理,并且以商品实例为例,零code意味着了CRUD遗漏改查RESTful API,后续引介更多的统计目录,比如MSSQL Server,Mongodb等。
意味着方式
code量
时间
准确性
传统开发新
1000行大约
2天/人
5个bug大约
crudapi系统会
0行
1分钟
理论上为0
综上所述,利用crudapi系统会可以极大地提高工作效率和提高效率生产成本,让统计数据处理变得更恰当!
crudapi概述crudapi是crud+api重新组合,同上示遗漏改查接口,是一款零code可装配的商品。常用crudapi可以告别枯燥无味地遗漏改查code,让您更热衷于销售业务,提高效率大量生产成本,从而提高工作效率。 crudapi的目标是让处理统计数据变得更恰当,所有人都可以免费常用! 须要脚本语言,通过装配定时分解成crud遗漏改查RESTful API,提供者除此以外UI管理销售业务统计数据。基于当今的Linux框架,拥有独立自主知识产权,赞同二次开发新。
demo演示crudapi属于商品级的零code平台,不同于定时code分解成机内,不能够分解成Controller、Service、Repository、Entity等销售业务code,程序运行起来就可以常用,确实0code,可以覆盖理论上的和销售业务无关的CRUD RESTful API。
官网邮箱:测试邮箱:
附源码邮箱GitHub邮箱Gitee邮箱由于网络原因,GitHub可能慢速,改用访问Gitee方能,code同步更新。
请点击官网标题链接了解更多和源码:甲骨文oracle统计目录 | crudapi
。佛山妇科专科医院哪里好广西白癜风医院排行
济南妇科医院预约挂号
青岛看癫痫去什么医院最好
西安妇科病治疗费用

-
这种少用的植物不简单
都只容易看不到这种小兰花兰花——红制动器芭蕉(Trifolium repens),因为常见有三片叶子,也叫三叶芭蕉。 百兰花制动器芭蕉红制动器芭蕉在除岬以外的所有大洲广泛分