keyinfo.java

来自「《JAVA与模式》附书中源代码」· Java 代码 · 共 55 行

JAVA
55
字号
package com.javapatterns.keygen.ver5;

class KeyInfo
{
    private int keyMax;
    private int keyMin;
    private int nextKey;
    private int poolSize;
    private String keyName;

    public KeyInfo(int poolSize, String keyName)
    {
		this.poolSize = poolSize;
        this.keyName = keyName;
        retrieveFromDB();
    }

    public int getKeyMax()
    {
		return keyMax;
	}

    public int getKeyMin()
    {
		return keyMin;
	}

    public synchronized int getNextKey()
    {
        if (nextKey > keyMax)
        {
			retrieveFromDB();
        }
        return nextKey++;
    }

    private void retrieveFromDB()
    {
		String sql1 = "UPDATE KeyTable SET keyValue = keyValue + "
            + poolSize + " WHERE keyName = '"
            + keyName + "'";

        String sql2 = "SELECT keyValue FROM KeyTable WHERE KeyName = '"
            + keyName + "'";

        // execute the above queries in a transaction and commit it
        // assume the value returned is 1000

		int keyFromDB = 1000;

		keyMax = keyFromDB;
        keyMin = keyFromDB - poolSize + 1;
        nextKey = keyMin;
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?