CN111488143A - 一种基于Springboot2代码自动生成装置和方法 - Google Patents
一种基于Springboot2代码自动生成装置和方法 Download PDFInfo
- Publication number
- CN111488143A CN111488143A CN202010294338.8A CN202010294338A CN111488143A CN 111488143 A CN111488143 A CN 111488143A CN 202010294338 A CN202010294338 A CN 202010294338A CN 111488143 A CN111488143 A CN 111488143A
- Authority
- CN
- China
- Prior art keywords
- code
- generator
- service
- mapper
- directory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000005516 engineering process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出的一种基于Springboot2代码自动生成装置和方法,将代码分为四层:Controller层、Service层、Mapper层、Po层,程序工程目录分别对应controller、service、mapper和po等目录。基于上述代码框架,引入了代码框架加载器、表解析器、代码生成器等模块。其中表解析模块用于从数据库中读取表定义信息进行解析,获取表基础信息:表名称、表注释、表字段列表、表主键名,对于表字段列表中的每一个表字段包含字段名称、数据类型、字段注释、是否可以为空等;代码生成器模块分为四个生成器:Controller类生成器、Service类生成器、Mapper类和Xml生成器、Po类生成器;每个生成器负责从表解析模块获取解析后的表定义信息,基于专家知识库规则生成代码,加装Springboot2的代码框架,将生成代码文件自动写入到约定的controller、service、mapper和po等目录。
Description
技术领域
本发明涉及一种基于Springboot2代码自动生成装置和方法,属于计算机软件领域。
背景技术
随着Web和移动互联网技术发展和应用普及,越来越多的公司和企业采用基于J2EE方案来构建自己的业务中台和业务后台,其中最为流行和广泛被软件研发才用的开源J2EE技术框架是Spring框架,近年来Spring最新的框架已经从SpringMVC转向Springboot以及Springcloud,基于Springcloud构建微服务框架,基于Springboot构建微服务模块已经逐渐成为当前和未来几年的主流技术方案。
在软件项目的开发过程中,如何提升软件研发效率一直是持续被关注的问题,之前出现一些自动化代码生成的装置和方法,他们更多集中在旧的代码框架下,虽然上述Springboot和Springcloud新的框架和微服务框架的普及,代码生成自动化工作也发生了变化,本发明正是在这样的背景下提出一种基于Springboot的微服务模块化构建中代码自动化生成技术。另外,本发明也引入了一个Springboot代码框架作为构建自动化代码生成的一个前提和基础,使得经过自动化构建生成的代码直接保存到预先构建的代码框架中,而由经验丰富的架构师和程序员构建的代码框架则可以立即加载自动生成的代码运行起来,对外提供RESTful服务接口。
发明内容
一种基于Springboot2代码自动生成装置和方法,包含了一个Springboot2的代码框架,所述该框架集成了web应用开发过程中需要用到的基础能力,包括跨域处理、日志处理、事务处理、分页查询、安全模块、定时任务、redis缓存、分布式锁、消息队列、国际化支持等基础能力。本发明提出的所述Springboot2代码框架将代码目录进行约定分为四大类:Controller层、Service层、Mapper层、Po层,在程序工程目录结构上分别对应controller目录、service目录、mapper目录和po目录。
基于本发明提出的上述Springboot2代码框架,引入了代码框架加载器、数据库(表)解析器、代码生成器等模块。其中数据库表解析模块用于从数据库表定义文件或数据库连接中读取数据库表定义信息进行解析,解析出一个数据库表的基础信息:表名称、表注释、表字段列表、表主键名,其中对于表字段列表中的每一个表字段包含字段名称、数据类型、字段注释、是否可以为空等;代码生成器模块则细分为四个子生成器:Controller类生成器、Service类生成器、Mapper类和Xml生成器、Po类生成器;每个生成器负责从表解析模块获取解析后的表定义信息,按照经验丰富架构师的专家知识库规则生成函数,并加装Springboot2的代码框架,将生成文件自动写入到约定的controller目录、service目录、mapper目录和po目录。
本发明还提出了一种基于插件***实现的自动分页查询检测和自动去除分页查询语句需要计算返回数据总数时使用orderby和groupby特别耗时操作的语句。以mybatis为例使用mybatis的plugininterceptor拦截以ByPage字符串结尾的数据库函数调用,拦截后先使用SQL解析技术将拦截到的原始SQL语句语法树解析出来,进而判断如果原始SQL语句带有order by、groupby等耗时操作则删除该orderby、groupby语句,删除后的语法树重新构建新的SQL,在新的SQL与基础上增加selectcount操作统计查询接口的数据总数。
附图说明
图1为基于Springboot代码自动生成装置图。
图2为生成Po类文件的流程图。
图3为生成Mapper层类文件和xml的流程图。
图4为生成Service层类文件的流程图。
图5为生成Controller层类文件的流程图。
图6为生成代码运行时的调用关系图。
图7为生成代码运行时的调用关系图。
图8为一个表定义示例代码片段。
图9为一个表定义生成Mapper层xml的代码片段。
图10为优化分页查询记录总数获取代码片段。
具体实施方式
如图1所示,一种基于Springboot2代码自动生成装置包括Springboot2代码框架、代码框架加载器、数据库(表)解析器、代码生成器等部分组成。其中Springboot2代码框架是经验丰富的架构师或程序员构建的基础代码框架,内置了一般项目通用的基础能力,包括:跨域处理、日志处理、事务处理、分页查询、安全模块、定时任务、redis缓存、分布式锁、消息队列、国际化支持等基础能力。
跨域处理是指指的是从一个域名去请求另外一个域名的资源,现实工作开发中经常会有跨域的情况,因为公司会有很多项目,也会有很多子域名,各个项目或者网站之间需要相互调用对方的资源,避免不了跨域请求。本发明提出时当前技术现状是前端开发和后端开发分离已经成为主流开发模式,前端通常单独打包独立部署,通过接口去访问后端资源,跨域成为非常普及和常见的技术问题。Springboot2代码框架基于Springboot跨域机制集成了解决方案。
日志处理是用于程序运行过程中的正常和异常信息记录,便于查看和定位问题,本发明提出Springboot2代码框架集成了log4j2的开源日志框架,支持按错误级别和日期滚动写日志文件。
事务处理是程序开发过程常见的问题,一个接口可能涉及多个数据库操作,为了确保多个数据库操作在一个数据库事务内,要么全部成功要么全部失败,本发明提出Springboot2代码框架基于开源Springboot采取AOP切面拦截方式配置根据service层函数id名称匹配规则,符合规则的函数进行事务处理,比如updateXXX支持事务,而getXXX则不需要事务。
分页查询是常见的一直接口返回数据方式,当一个接口请求的数据量很大时前端页面无法一次全部显示,需要分多次每次请求一页数据进行展示,本发明提出Springboot2代码框架基于***实现的分页查询通过访问数据库的接口id名称规则判断,如果是ByPage字符串结尾的函数则自动进行分页处理,从而屏蔽负复杂的分页处理逻辑,使得开发业务接口时非常简单无需关系分页处理。
安全模块也是一个web应用必不可少的部分,本发明提出Springboot2代码框架基于JWT认证机制和Shiro框架集成在一起,支持web接口访问安全,JWT
提供接口访问身份认证,Shiro提供接口访问权限控制。
定时任务是用于业务经常出现需要某些特定频率间隔或特定时间执行的任务进行业务处理,本发明提出Springboot2代码框架集成了Quartz定时任务框架,配合分布式锁,可以方便的实现单节点或集群环境下的分布式定时任务。
Redis缓存也成为当前web开发主流的数据缓存方案,本发明提出Springboot2代码框架集成了redis访问接口和配置,业务层可以方便的将热点数据放入redis,从redis读取数据给业务***提供了高IOPS。
分布式锁是集群环境下非常重要的一个基础能力,集群中多个节点应用同时执行时,有些业务需要控制他们并发执行的粒度,本发明提出Springboot2代码框架集成了redis原子操作语义,实现分布式锁为一个简单的函数调用,将集群环境下并发编程这个复杂的问题转变成一个简单函数调用,极大的降低业务开发的集群并发编程技术难度。
消息队列也是为了提供web***吞吐性能常见的一种方案,本发明提出Springboot2代码框架集成了kafka消息队列,从而业务层可以便捷的使用消息队列的能力,为构建高性能高并发的业务***提供基础能力。
国际化主要是用于构建多语言多国环境下的业务***,面对不同国家的用户***需要支持用户自由切换显示语言的功能,本发明提出Springboot2代码框架则内置实现了多语言的支持,使得业务层无需关注多语言实现细节,开发应用自动具备多语言支持能力。
本发明提出Springboot2代码框架除了具备上述基础能力外,还约定了整个工程代码的目录划分,将代码分为四个层次:Controller层、Service层、Mapper层、Po实体类。
如图2,基于本发明提出Springboot2代码框架上,Po实体类生成的流程:
第一步,表解析模块从文件或数据库连接中获取表定义,一种实施例中表定义可能是以SQL语句存在,另一种实施例中表定义可能是以MySQL数据库表存在。表解析模块负责将表定义解析出来,得到以下表基础信息:表名称、表注释、表字段列表、表主键名,其中对于表字段列表中的每一个表字段包含字段名称、数据类型、字段注释、是否可以为空等。如图8,是一个表定义的示例,以MySQL的SQL语句形式呈现。
第二步,根据上一步得到表基础信息,构建Po类的Java类代码,其中Po类的类名命名为XXXPo,生成的源代码文件命名为XXXPo.java,表字段列表的每一个字段生成XXXPo类的成员变量,成员变量类型根据表字段类型生成对应的java变量类型,表字段注释生成成员变量的注释,另外再自动为XXXPo类生成get/set成员方法。其中XXX为根据表名按规则生成的字符串,一种实施例中可能采用以下规则,比如表名为t_system_log,生成的XXX为SystemLog,即去除某些没用的前缀将下划线去掉采取驼峰命名规则生成。
第三步,Po类代码生成器根据第二步规则生成源代码文件的内容字符串。
第四步,写文件模块将上述字符串写入名为XXXPo.java文件中,该文件自动保存到本发明提出Springboot2代码框架约定的Po目录下。
如图3,基于本发明提出Springboot2代码框架上,Mapper类和Xml生成的流程:
第一步、第二步,同图2;
第三步,Mapper代码生成器根据之前步骤获取的信息,按照固定规则构建XXXMapper.java和XXXMapper.xml文件的内容。具体的生成文件内容如图7中201和Mybatis引擎所示。
第四步,写文件模块将上述字符串写入名为XXXMapper.java和XXXMapper.xml文件中,该文件自动保存到本发明提出Springboot2代码框架约定的Mapper目录下。
如图4,基于本发明提出Springboot2代码框架上,Service类生成的流程:
第一步、第二步,同图2;
第三步,Service代码生成器根据之前步骤获取的信息,按照固定规则构建XXXService.java文件的内容。具体的生成文件内容如图7中301所示。
四步,写文件模块将上述字符串写入名为XXXService.java文件中,该文件自动保存到本发明提出Springboot2代码框架约定的Service目录下。
如图5,基于本发明提出Springboot2代码框架上,Controller类生成的流程:
第一步、第二步,同图2;
第三步,Controller代码生成器根据之前步骤获取的信息,按照固定规则构建XXXController.java文件的内容。具体的生成文件内容如图7中301所示。
四步,写文件模块将上述字符串写入名为XXXService.java文件中,该文件自动保存到本发明提出Springboot2代码框架约定的Service目录下。
如图6,基于上述步骤生成的Controller类、Service类、Mapper类、MapperXML数据库访问接口调用关系,进一步如图7上述每一个类所生成的函数列表。当本发明提出Springboot2代码框启动运行后,来自外部或前端的Restful接口调用时会被框架分发到Controller类中,进而Controller类的方法会调用Service类的方法,Service类的方法进而调用Mapper类的方法,Mapper类方法则调用MapperXML中的方法进行数据库操作。
如图8,是一个表定义的示例,以MySQL的SQL语句形式呈现。该实施例中表名为system_exception,表注释为“异常信息表NG”,该表包含了四个字段,分别为:
1.字段名id、字段类型整型、字段不可为空、字段注释为自增加主键;
2.字段名exstacktrace、字段类型字符串、字段不可空、字段注释为异常栈;
3.字段名exmessage、字段类型字符串、字段可空、字段注释为异常消息;
4.字段名extime、字段类型字符串、字段不可空、字段注释为异常时间;
如图9,是根据图8描述的实施例进而生成的MapperXML代码片段,其中为了支持对分页查询的优化,图中findExceptionsByPage接口根据上述本发明提出的Springboot2代码框架实现的分页机制会自动触发分页,当进行分页查询时需要首先获取该接口返回数据总数,如图10中102所示最后展开的一个指定异常时间作为查询条件的查询所有异常数据,支持分页查询。一种常见的做法是拦截到该查询接口后自动在前后增加对应语句如图10中202所示,计算该接口返回数据总数,但该方法存在的问题如果原始102语句中包含orderby或groupby等操作时,用于求取记录总数是无用的,并且orderby和groupby操作极其耗时,本发明提出一种改进措施,以mybatis为例使用mybatis的plugininterceptor拦截以ByPage字符串结尾的数据库函数调用,拦截后先使用SQL解析技术将拦截到的原始SQL语句语法树解析出来,进而判断如果原始SQL语句带有orderby、groupby等耗时操作则删除该orderby、groupby语句,删除后的语法树重新构建新的SQL,在新的SQL与基础上增加selectcount操作,如图10中302所示。
Claims (6)
1.一种基于Springboot2代码自动生成装置和方法,其特征在于,包括Springboot2代码框架、代码框架加载器、数据库(表)解析器、代码生成器等部分。
2.如权利要求1所述Springboot2代码框架,内置了一般项目通用的基础能力,包括:跨域处理、日志处理、事务处理、分页查询、安全模块、定时任务、redis缓存、分布式锁、消息队列、国际化支持等基础能力。
3.如权利要求1所述Springboot2代码框架,将代码目录进行约定分为四大类:Controller层、Service层、Mapper层、Po层,在程序工程目录结构上分别对应controller目录、service目录、mapper目录和po目录。
4.如权利要求1所述数据库表解析模块,用于从数据库表定义文件或数据库连接中读取数据库表定义信息进行解析,解析出一个数据库表的基础信息:表名称、表注释、表字段列表、表主键名,其中对于表字段列表中的每一个表字段包含字段名称、数据类型、字段注释、是否可以为空等。
5.如权利要求1所述代码生成器模块,分为四个子生成器:Controller类生成器、Service类生成器、Mapper类和Xml生成器、Po类生成器;
Controller代码生成器从表解析模块获取解析后的表定义信息,按照经验丰富架构师的专家知识库规则生成函数,并加装Springboot2的代码框架,将生成文件自动写入到约定的controller目录;
Service代码生成器从表解析模块获取解析后的表定义信息,按照经验丰富架构师的专家知识库规则生成函数,并加装Springboot2的代码框架,将生成文件自动写入到约定的service目录;
Mapper代码生成器从表解析模块获取解析后的表定义信息,按照经验丰富架构师的专家知识库规则生成函数,并加装Springboot2的代码框架,将生成文件自动写入到约定的mapper目录;
Po代码生成器从表解析模块获取解析后的表定义信息,按照经验丰富架构师的专家知识库规则生成函数,并加装Springboot2的代码框架,将生成文件自动写入到约定的po目录。
6.一种基于Springboot2代码自动生成装置和方法,其特征在于,包括以下步骤:
第一步,在数据库访问***中拦截以ByPage字符串结尾的数据库函数调用;
第二步,拦截后先使用SQL解析技术将拦截到的原始SQL语句语法树解析出来;
第三步,判断如果原始SQL语句带有orderby、group by等耗时操作则删除该orderby、group by语句;
第四步,删除后的语法树重新构建新的SQL;
第五步,在新的SQL与基础上增加select count操作统计查询接口的数据总数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010294338.8A CN111488143A (zh) | 2020-04-15 | 2020-04-15 | 一种基于Springboot2代码自动生成装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010294338.8A CN111488143A (zh) | 2020-04-15 | 2020-04-15 | 一种基于Springboot2代码自动生成装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111488143A true CN111488143A (zh) | 2020-08-04 |
Family
ID=71794960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010294338.8A Pending CN111488143A (zh) | 2020-04-15 | 2020-04-15 | 一种基于Springboot2代码自动生成装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488143A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930843A (zh) * | 2020-08-11 | 2020-11-13 | 中国工商银行股份有限公司 | 基于数据库的数据***及处理方法 |
CN112346721A (zh) * | 2020-10-23 | 2021-02-09 | 杭州安恒信息技术股份有限公司 | 基于面向切面编程的日志采集方法、装置和电子设备 |
CN112527271A (zh) * | 2020-12-24 | 2021-03-19 | 广东广宇科技发展有限公司 | 一种软件开发实现方法和软件开发引擎 |
CN112596719A (zh) * | 2020-12-25 | 2021-04-02 | 中国农业银行股份有限公司 | 一种生成前后端代码的方法和*** |
CN113204444A (zh) * | 2021-07-06 | 2021-08-03 | 北京全路通信信号研究设计院集团有限公司 | 一种基于全局的现车管理***及其方法 |
CN113282277A (zh) * | 2021-05-17 | 2021-08-20 | 广州紫鲸互联网科技有限公司 | Java服务端开发框架 |
CN113407553A (zh) * | 2021-05-14 | 2021-09-17 | 重庆锐云科技有限公司 | 一种分布式锁的实现方法、***、设备及存储介质 |
CN113553051A (zh) * | 2021-06-01 | 2021-10-26 | 中电万维信息技术有限责任公司 | 一种基于redis缓存技术的文件数据比对方法 |
CN114756554A (zh) * | 2022-06-13 | 2022-07-15 | 中建电子商务有限责任公司 | 一种基于MyBatis框架的数据查询处理方法 |
CN115857898A (zh) * | 2023-02-25 | 2023-03-28 | 武汉万云网络科技有限公司 | 一种应用***构建和运行方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824619A (zh) * | 2016-03-10 | 2016-08-03 | 四川交通职业技术学院 | 基于Spring MVC、Apache Shiro、MyBatis框架整合的代码生成器 |
CN107391153A (zh) * | 2017-07-31 | 2017-11-24 | 深圳乐信软件技术有限公司 | 一种基于Spring与MyBatis框架整合的代码生成方法及装置 |
CN110187902A (zh) * | 2019-04-15 | 2019-08-30 | 中国平安人寿保险股份有限公司 | 基于spring boot的项目改造方法、装置、设备及存储介质 |
CN110727438A (zh) * | 2019-09-11 | 2020-01-24 | 宝付网络科技(上海)有限公司 | 基于SpringBoot的web***自动生成工具 |
CN110795080A (zh) * | 2019-10-21 | 2020-02-14 | 山东舜知信息科技有限公司 | 一种基于数据库注释的代码自动生成***及构建方法 |
-
2020
- 2020-04-15 CN CN202010294338.8A patent/CN111488143A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824619A (zh) * | 2016-03-10 | 2016-08-03 | 四川交通职业技术学院 | 基于Spring MVC、Apache Shiro、MyBatis框架整合的代码生成器 |
CN107391153A (zh) * | 2017-07-31 | 2017-11-24 | 深圳乐信软件技术有限公司 | 一种基于Spring与MyBatis框架整合的代码生成方法及装置 |
CN110187902A (zh) * | 2019-04-15 | 2019-08-30 | 中国平安人寿保险股份有限公司 | 基于spring boot的项目改造方法、装置、设备及存储介质 |
CN110727438A (zh) * | 2019-09-11 | 2020-01-24 | 宝付网络科技(上海)有限公司 | 基于SpringBoot的web***自动生成工具 |
CN110795080A (zh) * | 2019-10-21 | 2020-02-14 | 山东舜知信息科技有限公司 | 一种基于数据库注释的代码自动生成***及构建方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930843A (zh) * | 2020-08-11 | 2020-11-13 | 中国工商银行股份有限公司 | 基于数据库的数据***及处理方法 |
CN111930843B (zh) * | 2020-08-11 | 2023-07-28 | 中国工商银行股份有限公司 | 基于数据库的数据***及处理方法 |
CN112346721A (zh) * | 2020-10-23 | 2021-02-09 | 杭州安恒信息技术股份有限公司 | 基于面向切面编程的日志采集方法、装置和电子设备 |
CN112527271A (zh) * | 2020-12-24 | 2021-03-19 | 广东广宇科技发展有限公司 | 一种软件开发实现方法和软件开发引擎 |
CN112527271B (zh) * | 2020-12-24 | 2024-03-29 | 广东广宇科技发展有限公司 | 一种软件开发实现方法和软件开发引擎 |
CN112596719A (zh) * | 2020-12-25 | 2021-04-02 | 中国农业银行股份有限公司 | 一种生成前后端代码的方法和*** |
CN113407553A (zh) * | 2021-05-14 | 2021-09-17 | 重庆锐云科技有限公司 | 一种分布式锁的实现方法、***、设备及存储介质 |
CN113407553B (zh) * | 2021-05-14 | 2023-05-05 | 重庆锐云科技有限公司 | 一种分布式锁的实现方法、***、设备及存储介质 |
CN113282277A (zh) * | 2021-05-17 | 2021-08-20 | 广州紫鲸互联网科技有限公司 | Java服务端开发框架 |
CN113553051A (zh) * | 2021-06-01 | 2021-10-26 | 中电万维信息技术有限责任公司 | 一种基于redis缓存技术的文件数据比对方法 |
CN113553051B (zh) * | 2021-06-01 | 2022-06-21 | 中电万维信息技术有限责任公司 | 一种基于redis缓存技术的文件数据比对方法 |
CN113204444A (zh) * | 2021-07-06 | 2021-08-03 | 北京全路通信信号研究设计院集团有限公司 | 一种基于全局的现车管理***及其方法 |
CN114756554A (zh) * | 2022-06-13 | 2022-07-15 | 中建电子商务有限责任公司 | 一种基于MyBatis框架的数据查询处理方法 |
CN114756554B (zh) * | 2022-06-13 | 2022-09-30 | 中建电子商务有限责任公司 | 一种基于MyBatis框架的数据查询处理方法 |
CN115857898A (zh) * | 2023-02-25 | 2023-03-28 | 武汉万云网络科技有限公司 | 一种应用***构建和运行方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488143A (zh) | 一种基于Springboot2代码自动生成装置和方法 | |
US9547685B2 (en) | Halloween protection in a multi-version database system | |
US8521867B2 (en) | Support for incrementally processing user defined aggregations in a data stream management system | |
US7007275B1 (en) | Method and apparatus for automatic execution of concatenated methods across multiple heterogeneous data sources | |
US8073826B2 (en) | Support for user defined functions in a data stream management system | |
KR101365832B1 (ko) | 데이터 액세스 계층 클래스 생성기 | |
US8204875B2 (en) | Support for user defined aggregations in a data stream management system | |
US8214813B2 (en) | Code optimization across interfaces | |
US20120158795A1 (en) | Entity triggers for materialized view maintenance | |
US6760719B1 (en) | Method and apparatus for high speed parallel accessing and execution of methods across multiple heterogeneous data sources | |
Lin et al. | Full-text indexing for optimizing selection operations in large-scale data analytics | |
US20090106198A1 (en) | Support for sharing computation between aggregations in a data stream management system | |
WO2009039072A2 (en) | System for development and hosting of network applications | |
US9171036B2 (en) | Batching heterogeneous database commands | |
Biswas et al. | Boa meets python: A boa dataset of data science software in python language | |
CN111966692A (zh) | 针对数据仓库的数据处理方法、介质、装置和计算设备 | |
EP3841476B1 (en) | Scalable pre-analysis of dynamic applications | |
WO2022165326A1 (en) | Dataset multiplexer for data processing system | |
CN113094039B (zh) | 一种基于数据库表的代码自动生成*** | |
CN117421302A (zh) | 一种数据处理方法及相关设备 | |
CN113326261A (zh) | 数据血缘关系提取方法、装置及电子设备 | |
CN114385145A (zh) | 一种Web***后端架构设计方法及计算机设备 | |
US20220179965A1 (en) | Modular taint analysis with access paths | |
US20200320069A1 (en) | Hybrid compilation framework for arbitrary ad-hoc imperative functions in database queries | |
CN113157726B (zh) | 一种数据库的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200804 |
|
WD01 | Invention patent application deemed withdrawn after publication |