【技术实现步骤摘要】
本专利技术涉及到数据库
,特别涉及一种java生成数据库sequence的方法。
技术介绍
随着科技进步,软件企业所开发的应用信息管理系统要经常适配客户所采购的各种数据库环境,由于各种数据库的异构性,带来了应用系统部署、迁移的复杂性提升。
为了降低企业特别是软件企业的开发成本,减少二次编码迭代的可能,加速应用系统的部署、迁移等活动,特专利技术此方法。本专利技术方法可以很好的解决应用系统采用不同数据库的快速迁移,降低应用系统对于数据库的底层依赖,减少二次编码成本。
技术实现思路
本专利技术的目的在于提供一种java生成数据库sequence的方法,该方法解决应用系统在采用不同数据库时提供统一的生成sequence信息的方法。
为实现上述目的,本专利技术的技术方案是:一种java生成数据库sequence的方法,包括如下步骤,
步骤S01:在数据库中构建一用于存储sequence信息的sequence数据表;
步骤S02:构建一sequence工具类,作为java类访问的基础类,以利于各应用通过sequence工具类进行访问,获取sequence数据表的初始信息;
步骤S03:构建一sequence载体类,用于存储sequence具体信息。
在本专利技术一实施例中,所述sequence信息包括sequence的名称、当前值、备注、sequence的匹配模式、获取sequence的cache值、事物控制版本信息。
在本专利技术一实施例中,所述步骤S02中,各应用通过sequence工具类进行访问的具体过程如下:
步骤S001:各应用程序的外部类通过sequence工具类暴露在外的单实例来读取工具类,获取sequence工具类的实例;
步骤S002:sequence工具类进行实例化;
步骤S003:sequence工具类初始化完成sequence数据表信息的读取,实例化到内存中;
步骤S004:判断请求的sequence信息是否存在于内存中;若不存在,则执行步骤S005;若存在,则执行步骤S006;
步骤S005:创建请求的sequence信息,并把该sequence信息写入sequence数据表;
步骤S006:获取请求的sequence的信息;
步骤S007:将请求的sequence信息的当前值和步长值进行比较;若当前值大于步长值,则执行步骤S008;否则,执行步骤S009;
步骤S008:访问sequence数据表,进行重新初始该sequence信息;
步骤S009:对sequence信息的当前值进行累加,返回结果给其具体调用的应用程序。
相较于现有技术,本专利技术具有以下有益效果:本专利技术使得应用系统在采用不同数据库时可共用一种方法生成sequence,从而降低不同数据库异构带来的编码工作量。
附图说明
图1为本专利技术java生成数据库sequence的方法流程图。
图2为本专利技术java生成数据库sequence的方法中具体内部处理流程图。
具体实施方式
下面结合附图,对本专利技术的技术方案进行具体说明。
本专利技术的一种java生成数据库sequence的方法,包括如下步骤,
步骤S01:在数据库中构建一用于存储sequence信息的sequence数据表;
步骤S02:构建一sequence工具类,作为java类访问的基础类,以利于各应用通过sequence工具类进行访问,获取sequence数据表的初始信息;
步骤S03:构建一sequence载体类,用于存储sequence具体信息。
在本专利技术一实施例中,所述sequence信息包括sequence的名称、当前值、备注、sequence的匹配模式、获取sequence的cache值、事物控制版本信息。
在本专利技术一实施例中,所述步骤S02中,各应用通过sequence工具类进行访问的具体过程如下:
步骤S001:各应用程序的外部类通过sequence工具类暴露在外的单实例来读取工具类,获取sequence工具类的实例;
步骤S002:sequence工具类进行实例化;
步骤S003:sequence工具类初始化完成sequence数据表信息的读取,实例化到内存中;
步骤S004:判断请求的sequence信息是否存在于内存中;若不存在,则执行步骤S005;若存在,则执行步骤S006;
步骤S005:创建请求的sequence信息,并把该sequence信息写入sequence数据表;
步骤S006:获取请求的sequence的信息;
步骤S007:将请求的sequence信息的当前值和步长值进行比较;若当前值大于步长值,则执行步骤S008;否则,执行步骤S009;
步骤S008:访问sequence数据表,进行重新初始该sequence信息;
步骤S009:对sequence信息的当前值进行累加,返回结果给其具体调用的应用程序。
以下对本专利技术技术方案进行具体讲述。
如图1所示,一种java生成数据库sequence的方法,包括以下步骤:
步骤S01:提供一张数据表来存储sequence的信息,包含sequence的名称、当前值、备注、sequence的匹配模式、获取sequence的cache值、事物控制版本等信息;
步骤S02:提供一个Sequence工具类,用于提供其它应用访问的基础类,包含一个单例方法来实现类的初始化,生成工具类的实例对象;
步骤S03:提供一个Sequence载体,用于记录sequence的具体信息,包括从数据库中初始化sequence等。
如图2所示,在本专利技术一实施例中,外部类需要先实例化工具类,获取该工具类的单例,通过该工具类的单例来存储访问,获取sequence表的初始信息。
步骤S001:外部类通过一定的方法读取工具类,获取工具类的实例。
步骤S002:工具类进行实例化
步骤S003:工具类初始化完成sequence表信息的读取,实例化到内存中。
步骤S004:判断请求的sequence是否存在于内存中.
步骤S005:如果不存在内存中,进行创建,并把该sequence写入数据表。
步骤S006:如果存在,获取当前sequence的信息。
步骤S007:当前的sequence信息的当前值和步长进行比较。
步骤S008:如果当前值大于步长值,那么需要从数据库中重新检索,获取sequence的具体信息。
步骤S009:如果当前值小于步长值,那么直接对值进行累加,返回结果给调用者。
本专利技术的优点在于,实现了不同数据库生成sequence统一管理,并可以用于应用的集群部署等。
上列较佳实施例,对本专利技术的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。
本文档来自技高网...