【技术实现步骤摘要】

本专利技术涉及到数据库

,特别涉及一种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统一管理,并可以用于应用的集群部署等。

上列较佳实施例,对本专利技术的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。

本文档来自技高网...

java sequence_一种java生成数据库sequence的方法技术相关推荐

  1. java实体类生成mysql表_springboot+mybatis通过实体类自动生成数据库表的方法

    前言 本章介绍使用mybatis结合mysql数据库自动根据实体类生成相关的数据库表. 首先引入相关的pom包我这里使用的是springboot2.1.8.RELEASE的版本 org.mybatis ...

  2. java实现二维码生成的几个方法

    java实现二维码生成的几个方法 分类: J2EE2013-06-13 20:32 10390人阅读 评论(1) 收藏 举报 1: 使用SwetakeQRCode在Java项目中生成二维码  http ...

  3. java布尔类型比较器_浅谈Java中几种常见的比较器的实现方法

    在java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题. 通常对象之间的比较可以从两个方面去看: 第一个方面:对象的地址是否一样,也就是是否引用自同一个对象.这种方式可以直接使用& ...

  4. php实现小说字典功能_PHP实现获取并生成数据库字典的方法

    本文实例讲述了PHP实现获取并生成数据库字典的方法.分享给大家供大家参考,具体如下: /** * 生成mysql数据字典 */ header("Content-type:text/html; ...

  5. java反射原理三种,Java反射的原理,作用

    什么是反射,反射原理 java类的执行需要经历以下过程 编译:.java文件编译后生成.class字节码文件 加载:类加载器负责根据一个类的全限定名来读取此类的二进制字节流到JVM内部,并存储在运行时 ...

  6. java 随机数生成实现_Java中生成随机数的实现方法总结

    搜索热词 在实际开发工作中经常需要用到随机数.如有些系统中创建用户后会给用户一个随机的初始化密码.这个密码由于是随机的,为此往往只有用户自己知道.他们获取了这个随机密码之后,需要马上去系统中更改.这就 ...

  7. java反射原理三种,java反射的原理、作用

    1.什么是反射,反射原理java反射的原理:java类的执行需要经历以下过程,编译:.java文件编译后生成.class字节码文件 加载:类加载器负责根据一个类的全限定名来读取此类的二进制字节流到JV ...

  8. java 总结几种线程异步转同步的方法

    转载自https://blog.csdn.net/Veson__/article/details/53898890 在做一款app的时候,用到了一个异步执行的api,而我想要的是同步执行,查了一些资料 ...

  9. java数据库连接类,已经把数据库操作的方法都封装好了

    在这里分享一个已经封装好了的java数据库连接类,只要创建对象就可以实现数据库的增删改查操作,用过都说好.其实这个不是我自己写的,是一个理解和学习能力超高的朋友写的,他也很乐于分享交流,本人也深受他的 ...

最新文章

  1. 2021年大数据Hadoop(十五):Hadoop的联邦机制 Federation
  2. 一次项目组聚餐,让我重新认识了很多人
  3. 【知识发现】隐语义模型LFM算法python实现(三)
  4. jvm性能调优实战 - 49OOM异常进行监控以及online处理
  5. python如何使用图片做背景_用Python批量给照片换底色,基于opencv模块
  6. python爬虫知识点总结(十九)Scrapy命令行详解
  7. 【JOURNAL】好久了啊
  8. (转)在Windows上安装GPU版Tensorflow
  9. iPDA“国际智能车联合道路演示”压轴,IEEE IV 2018 圆满落幕!
  10. shapefile导入oracle,shp2sdo.exe用法:shpfile导入OracleSpatial
  11. c语言程序设计实验二模板,C语言程序设计实验二.doc
  12. github page + jekyllrb 搭建新博客
  13. 一篇文章助你深入理解zookeeper
  14. JAVA毕业设计源码带论文和答辩、大作业、实例程序源码下载合集【56套】
  15. git恢复已删除的本地分支
  16. 中国科技论文在线期刊模板出现了格式问题,怎么解决?
  17. mysql姓氏笔画排序_php根据姓氏笔画排序怎么做
  18. c# 中文转换为拼音或者拼音首字母
  19. spring成神之路第十八篇:@ComponentScan、@ComponentScans 详解(bean 批量注册)
  20. python多维数组分位数的求取

热门文章

  1. 对接服务,对方服务器更新SSL证书,服务https的get和post报错。 sun.security.validator.ValidatorException: PKIX path building
  2. 如何在html盒子中将图片居中,css3怎么使div图片居中?
  3. Unity3D Shader:动态翅膀
  4. 【并发编程二】c++创建子进程CreateProcess()
  5. 93、Viewport详解
  6. Nginx过滤url
  7. Yii: 日期和时间控件的使用
  8. piechart 文档 android,Android MPAndroidChart之PieChart和数据结构以及模型【5】
  9. RT6862D/TR(6862D)
  10. oracle 朱志辉_朱志辉