一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置制造方法及图纸

技术编号:24409668 阅读:18 留言:0更新日期:2020-06-06 08:37
本发明专利技术公开了一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置,属于数据库开发技术领域,提供一个电子政务行业通用的抽象对象用于给正常业务对象来继承,规范业务对象的通用部分;提供一种用注解的方式来配置数据库与对象的关系,可以通过注解分析对象属性与数据库字段的对应关系,生成建表、触发器、序列、建索引语句及一系列通用增删改查语句,从而减少配置文件,减少开发人员对不同数据库的兼容性工作。本发明专利技术通过强行要求使用PreparedStatement与SQL语句监测、接口的方式,取得了支持国际主流数据库以及国产主流数据库、保证SQL安全、适用于政务行业常见的数据移植中搬数据的操作。

A security multi compatible lightweight database adaptation development and operation device supporting domestic databases

【技术实现步骤摘要】
一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置
本专利技术涉及一种数据库适配开发与操作装置,特别是涉及一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置,属于数据库开发

技术介绍
随着电子政务的飞速发展,对承接相应业务公司的开发效率要求越来越高,并且由于国家倡导政府采购需要有一定的国产化比率,在电子政务项目中已经有很大一部分使用了国产操作系统、国产中间件、国产数据等产品。传统政务产品开发方式一般会使用通用数据库与对象关系操作装置,如:HIBERNATE、MYBATIS来兼容三大主流数据库:MSSQL、ORACLE、MYSQL。但这些框架都有些缺点,比如HIBERNATE很重,并且学习成本高,前期效率低;MYBATIS轻量但配置较多;此外它们都不支持国产数据库,导致开发人员需要通过增加更多的判断来决定使用哪种SQL或者单独做国产数据库的产品版本增加了开发难度,影响开发效率,提升了维护成本等。
技术实现思路
本专利技术的主要目的是解决现有技术中数据库的产品版本开发难度大、开发效率低、维护成本高等问题,而提供一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置。本专利技术的目的可以通过采用如下技术方案达到:一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置,包括:提供一个电子政务行业通用的抽象对象用于给正常业务对象来继承,规范业务对象的通用部分;提供一种用注解的方式来配置数据库与对象的关系,可以通过注解分析对象属性与数据库字段的对应关系,生成建表、触发器、序列、建索引语句及一系列通用增删改查语句;提供一种统一的数据库与对象的操作模型,可以平滑的将对象存储到数据库以及从数据库将数据取出成对象,并且自动负责分页问题。进一步的,提供一个电子政务行业通用的抽象对象用于给正常业务对象来继承,规范业务对象的通用部分,是通过结合内容管理、互动、视频库、图片库、信息资源库系统抽象出一批所有系统出现概率最大的并且与业务无关的对象属性,组成一个抽象对象。进一步的,提供一种用注解的方式来配置数据库与对象的关系,可以通过注解分析对象属性与数据库字段的对应关系,生成建表、触发器、序列、建索引语句及一系列通用增删改查语句,包括:注解设计,注解包括表注解、字段注解以及索引注解,表注解可以设置对象对应的数据库表名称;字段注解可以设置字段类型、字段名称、默认值等;索引注解设置对数据库中的哪些字段做索引。进一步的,字段类型支持DATE,DATETIME,INT,LONG,BIGINT,NUMERIC,DOUBLE,FLOAT,VARCHAR,CHAR,TEXT,BLOB,JSON,这些类型将会被映射成对应数据库的类型,这里做统一配置并不需要分别配置数据库类型与对象类型,比如TEXT会自动映射到ORACLE的CLOB,其中JSON类型支持自动将对象进行JSON化的编码与解码。进一步的,根据注解生成各种数据库的语句,包括:INSERT,UPDATE,DELETE,SELECT,SELECT_FROM_ID,DELETE_FROM_IDS,TABLE,SEQ,TRIGGER,ENABLE_SEQ,REMOVE_SEQ,DISABLE_SEQ,MAXID,INDEX,CHECK,ALTER。进一步的,提供一种统一的数据库与对象的操作模型,可以平滑的将对象存储到数据库以及从数据库将数据取出成对象,并且自动负责分页问题,包括:抽象出一个含有一批通用数据库与对象关系操作方法的对象,此对象中使用本专利技术第二点中生成的SQL来执行数据库操作;业务数据操作对象继承此对象这样可以直接调用通用数据库与对象关系操作方法。本专利技术的有益技术效果:本专利技术提供的一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置,通过强行要求使用PreparedStatement与SQL语句监测、接口的方式、注解的方式、自动按照数据库的类型生成建表、建索引语句以及自动按照数据库类型选择适合SQL语句类执行常规增删改查操作等,可以达到数据库的产品版本开发难度小、支持国产数据库、安全性高、多兼容、开发效率高、维护成本低等效果。附图说明图1为本专利技术注解解析数据库与对象关系的示意图;图2为本专利技术结合数据库与对象关系使用业务操作对象进行操作的示意图。具体实施方式为使本领域技术人员更加清楚和明确本专利技术的技术方案,下面对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。实施例1:见图1,本实例实施步骤如下:(1)、通过扫描包的方式扫描所有继承了抽象对象的业务对象;(2)、解析业务对象中的注解;a、@table注解对象与表的关系;b、@column注解对象字段与表字段的关系;c、@index注解需要建立索引的字段;(3)、将注解标识的信息转换成关系映射交由对象管理器;(4)、对象管理器对每一个对象进行多数据库适配;a、按照数据库类型通过映射关系生成建表语句;b、生成建索引语句;c、生成触发器序列语句;d、生成通用操作语句;(5)、将生成的语句与关系映射缓存,以便复用。实施例2:见图2,本实例实施步骤如下:(1)、通过扫描所有业务操作对象;(2)、对于继承了通用操作对象的业务操作对象进行反射,获取所绑定的对象;(3)、通过对象与数据库映射缓存验证是否以及存在映射,如果没有映射此业务操作对象的处理就此结束;(4)、对于有关系映射,通过缓存中关系映射生成好的语句做建表、建索引、建触发器与序列;(5)、为业务对象提供一系列的通用操作,通用操作所需的执行语句来源于缓存中关系映射生成好的语句;(6)、由于查询语句有着丰富的写法,本专利技术会检查SQL是否有危险;a、检查是否是select语句,防止执行修改操作;b、检查是否有系统函数方法,防止执行系统命令;c、检查是否有拼写SQL的嫌疑,防止SQL注入;d、检查是否有WHERE条件防止整表查询;e、检查是否有*字段,防止全字段查询;(7)、对于分页操作本专利技术会通过适配器的方式提供不同的分页语句,但对于使用者来说只需要设置页码与每页条数即可完成分页查询;(8)、将数据库的查询结果通过缓存中关系映射转换成对象。在实施例1和2中,结合图1及图2所示,通过强行要求使用PreparedStatement与SQL语句监测、接口的方式、注解的方式、自动按照数据库的类型生成建表、建索引语句以及自动按照数据库类型选择适合SQL语句类执行常规增删改查操作等,可以达到如下效果:支持国际主流数据库以及国产主流数据库、保证SQL安全、扩展与其他数据库的兼容以实现更多的国产数据库接入、适用于政务行业常见的数据移植中搬数据的操作、可以方便快捷的设置本文档来自技高网...

【技术保护点】
1.一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置,其特征在于,包括:/n提供一个电子政务行业通用的抽象对象用于给正常业务对象来继承,规范业务对象的通用部分;/n提供一种用注解的方式来配置数据库与对象的关系,可以通过注解分析对象属性与数据库字段的对应关系,生成建表、触发器、序列、建索引语句及一系列通用增删改查语句;/n提供一种统一的数据库与对象的操作模型,可以平滑的将对象存储到数据库以及从数据库将数据取出成对象,并且自动负责分页问题。/n

【技术特征摘要】
1.一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置,其特征在于,包括:
提供一个电子政务行业通用的抽象对象用于给正常业务对象来继承,规范业务对象的通用部分;
提供一种用注解的方式来配置数据库与对象的关系,可以通过注解分析对象属性与数据库字段的对应关系,生成建表、触发器、序列、建索引语句及一系列通用增删改查语句;
提供一种统一的数据库与对象的操作模型,可以平滑的将对象存储到数据库以及从数据库将数据取出成对象,并且自动负责分页问题。


2.如权利要求1所述的一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置,其特征在于,提供一个电子政务行业通用的抽象对象用于给正常业务对象来继承,规范业务对象的通用部分,是通过结合内容管理、互动、视频库、图片库、信息资源库系统抽象出一批所有系统出现概率最大的并且与业务无关的对象属性,组成一个抽象对象。


3.如权利要求1所述的一种支持国产数据库的安全性多兼容轻量级数据库适配开发与操作装置,其特征在于,提供一种用注解的方式来配置数据库与对象的关系,可以通过注解分析对象属性与数据库字段的对应关系,生成建表、触发器、序列、建索引语句及一系列通用增删改查语句,包括:注解设计,注解包括表注解、字段注解以及索引注解,表注解可以设置对象对应的数据库表名称;字段注解可以设置字段类型、字段名称、默认值等;索引注解设置对数据库中的哪些字段做索引。


4.如权利要求3所述的一种支持...

【专利技术属性】
技术研发人员:金震宇李杰
申请(专利权)人:大汉软件股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1