java 数据库 主键 生成器_数据库主键生成器java代码 | 学步园

package com.aspboy.base.database.util;

import java.util.HashMap;

public class KeyGenerator

{

private static KeyGenerator keygen=new KeyGenerator();

private static final int POOL_SIZE=20;

private HashMap keylist=new HashMap(10);

private KeyGenerator()

{}

public static KeyGenerator getInstance()

{

return keygen;

}

public synchronized int  getNextKey(String keyName)

{

KeyInfo keyinfo;

if (keylist.containsKey(keyName))

{

keyinfo=(KeyInfo)keylist.get(keyName);

System.out.println("key found");

}

else

{

keyinfo=new KeyInfo(POOL_SIZE,keyName);

keylist.put(keyName, keyinfo);

System.out.println("new key created");

}

return keyinfo.getNextKey();

}

}

package com.aspboy.base.database.util;

import com.aspboy.base.database.DBBean;

public class KeyInfo

{

private int keyMax;

private int Keymin;

private int nextKey;

private int poolSize;

private String keyName;

//private int times ;

public KeyInfo(int poolSize,String keyName)

{

this.poolSize=poolSize;

this.keyName=keyName;

loadFromDB();

//times++;

//System.out.println("get keyvalue from db tiems=="+times);

}

public int getKeyMax() {

return keyMax;

}

public int getKeymin() {

return Keymin;

}

private void loadFromDB()

{

String sql1="update tb_key set KeyValue=KeyValue+"+poolSize+" where keyName='"+keyName+"'";

DBBean.executeSql(sql1);

String sql2="select KeyValue from  tb_key  where keyName='"+keyName+"'";

int keyFromDB=DBBean.getIntSingle(sql2);

keyMax=keyFromDB;

Keymin=keyFromDB-poolSize+1;

nextKey=Keymin;

}

public int getNextKey() {

if (nextKey>keyMax)

{

loadFromDB();

System.out.println("get keyvalue from db");

}

return nextKey++;

}

}

调用 方法: KeyGenerator.getInstance().getNextKey(keyName);

keyName 为表名称

相关数据库结构:

表tb_key

字段如下:

KeyValue:pk大小

keyName:表名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一份武汉科技大学计算机考研的详细规划: 1. 学习计划 首先,你需要制定一个学习计划,根据考研大纲制定每个阶段的学习计划。建议可以按照以下时间分配: - 大一到大二上学期:夯实基础知识,学习数据结构、算法、计算机组成原理、操作系统等基础课程; - 大二下学期到大三上学期:开始着手准备考研,从考研数学基础课程开始学习,如高等数学、线性代数、概率论等; - 大三下学期:开始备考,全面复习各科目课程,并且开始做真题。 2. 考试科目 考研计算机科目共分为两个部分:专业课和公共课。其中,专业课占总分的 70%,公共课占 30%。具体考试科目包括: - 高等数学 - 线性代数 - 概率论与数理统计 - 数据结构 - 计算机组成原理 - 操作系统 - 计算机网络 - 数据库系统原理 - 软件工程 - 程序设计语言 3. 学习方法 学习计划和考试科目制定好后,你需要采取正确的学习方法。以下是一些学习方法: - 计划规范:制定详细的学习计划,按照计划执行。 - 多做练习题:尤其是数学类的科目,需要多做题来提高解题能力。 - 多看教材:对于某些概念不清楚的知识点,针对性地再次阅读教材,理解概念。 - 做模拟题:可以通过做模拟题来了解自己的复习情况,并且提前适应考试的节奏。 4. 备考时间 备考时间需要根据自己的实际情况制定。一般来说,建议至少提前半年开始备考,并且在考试前一个月左右进行冲刺复习。 以上是关于武汉科技大学计算机考研的详细规划,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值