當前位置:生活全書館 >

IT科技

> sequence java

sequence java

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java sequence是什麼?讓我們一起來了解一下吧!

java sequence是指java程序中的數據庫。sequence是數據庫按特定規則自動增加的數字序列,自動增加因此得出的數據不會出現重複。

java sequence

sequence主要有以下兩個功能:

1. 它可以作為代理主鍵,唯一識別。

2. 它可以記錄數據庫裏的最新變化的語句,並且隨着變化而發生更新。

Sequence的使用方法有:

create seqence sequence_name[start with n1]           ----------------->n1到n5都是整數;start with 生成的第一個n1值[increment by n2]         -----------------> increment by n2 遞增量,可以為正整數或負整數,指明每一次增加多少[maxvalue n3|no maxvalue] ----------------->maxvalue最大值,no maxvalue用於指定序列沒有上限[cache n5|no cache]       ----------------->cache 用高速緩存中可以預分配的序列號個數,默認是20。 如果緩存中的序列號沒有用完就關閉數據庫等其它原因。

java中實現sequence,以Mysql為例:

package sequence; import java.util.HashMap;import java.util.Map;import java.sql.SQLException; /*** @des: Java實現的Sequence工具*/public class SequenceUtils {    private static SequenceUtils _instance = new SequenceUtils();    private Map keyMap = new HashMap(20); //Sequence載體容器    private static final int POOL_SIZE = 10;      //Sequence值緩存大小     /**     * 禁止外部實例化     */    private SequenceUtils() {    }     /**     * 獲取SequenceUtils的單例對象     * @return SequenceUtils的單例對象     */    public static SequenceUtils getInstance() {        return _instance;    }     /**     * 獲取下一個Sequence鍵值     * @param keyName Sequence名稱     * @return 下一個Sequence鍵值     */    public synchronized long getNextKeyValue(String keyName) {        KeyInfo keyInfo = null;        Long keyObject = null;        try {            if (keyMap.containsKey(keyName)) {                keyInfo = keyMap.get(keyName);            } else {                keyInfo = new KeyInfo(keyName, POOL_SIZE);                keyMap.put(keyName, keyInfo);            }            keyObject = keyInfo.getNextKey();        } catch (SQLException e) {            e.printStackTrace();        }        return keyObject;    }}

標籤: sequence java
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zh-mo/dianzi/gnmyyw.html