keyinfo.java
来自「《JAVA与模式》附书中源代码」· Java 代码 · 共 51 行
JAVA
51 行
package com.javapatterns.keygen.ver3;
class KeyInfo
{
private int keyMax;
private int keyMin;
private int nextKey;
private int poolSize;
public KeyInfo(int poolSize)
{
this.poolSize = poolSize;
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 = 'PO_NUMBER'";
String sql2 = "SELECT keyValue FROM KeyTable WHERE KeyName = 'PO_NUMBER'";
// 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 + -
显示快捷键?