社区
Java SE
帖子详情
求:在oracle中用java自动生成主键的良方
nighthawk
2005-01-02 04:30:11
如题
...全文
139
4
打赏
收藏
求:在oracle中用java自动生成主键的良方
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hxzg001
2005-01-02
打赏
举报
回复
建个HashMap,以表名为键,记录该表的最大记录数。
在需要往某个表插入记录前,先从HashMap中获取该表的最大记录数。
此时有两种情况,
1、HashMap中没有对应的信息,此时需要运行select count(*) from 表名 获取最大记录数,然后加1就得到了将要插入记录的主键值,还要将这表名和加1后的记录数put到HashMap中;
2、HashMap中有对应信息,此时直接从HashMap中取得最大记录数并加1得到将要插入记录的主键值,然后再更新HashMap。
上面的方法可以得到类似于id自动递增的效果,需要注意操作时的同步。
classjava
2005-01-02
打赏
举报
回复
关注一下
pigo
2005-01-02
打赏
举报
回复
guid。有现成别人写好的东西。
lonelydavy
2005-01-02
打赏
举报
回复
public synchronized static String getKey() {
String key = " ";
long time = new Date().getTime();
if ( time == prevTime ) {
int cs = clockSequence + 1;
if ( cs > 65535 ) cs = 0;
if ( clockSequence > cs ) {
clockSequence = 0;
try {
Thread.sleep(1);
time = new Date().getTime();
}catch(InterruptedException ie) {
ie.printStackTrace();
}
}else {
clockSequence = cs;
}
}
key = time + Integer.toHexString(clockSequence);
prevTime = time;
return key;
}
mybatis-generator 代码
自动生成
工具---内有详细介绍
mybatis-generator 代码
自动生成
工具,里面有详细介绍
Oracle
11g客户端精简版
Oracle
11g客户端精简版,WIN7上测试通过,绝对能用,安装完成后,请参阅readme.txt文件修改即可.
oracle
11g官方中文帮助文档 高清完整版
oracle
11g官方中文帮助文档,压缩文件。
Tianlesoftware
Oracle
学习手册(v1.0)高清完整PDF版
Tianlesoftware
Oracle
学习手册(v1.0)
jdk1.7 64位官方版 jdk-7u79-linux-x64.tar.gz
jdk1.7 64位官方正式版 jdk-7u79-linux-x64.tar.gz
Java SE
62,629
社区成员
307,261
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章