社区
Java SE
帖子详情
求:在oracle中用java自动生成主键的良方
nighthawk
2005-01-02 04:30:11
如题
...全文
163
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;
}
Oracle
实现
主键
字段自增
Oracle
实现
主键
字段自增的3种方式
Oracle
自动生成
主键
&&UUID
在使用
Oracle
的时候,需要添加一个唯一的
主键
,一般使用的是36位的唯一的字符串,我们有两种方式 转自: http://hbiao68.iteye.com/blog/1493759 一、使用数据库
自动生成
的方式,自动添加唯一的ID值 Sql代码 create table t_log( ssid varchar2(36) default...
在hibernate中实现
oracle
的
主键
自增策略
在很多情况下,我们使用Hibernate在已经建立好数据库的基础上。在
oracle
中,如果已经建立好的数据库中使用了sequence,则可以按照下面的步骤把它引入到Hibernate中: 1、在
oracle
首先创建sequence create sequence seq_id minvalue 1 start with 1 incremen
java
mybaits
oracle
插入返回
主键
在MyBatis中,要实现在插入数据后返回
主键
,可以在Mapper的XML文件中使用useGeneratedKeys属性和keyProperty属性。这里的useGeneratedKeys设置为true表示我们想要获取数据库生成的
主键
,keyProperty设置为
Java
对象中的属性名,用于存储
主键
值。当你调用insertExample方法并传入一个Example对象时,插入操作执行后,MyBatis会自动将生成的
主键
值设置到这个对象的id属性中。
Mybatis「MySQL-
Oracle
」 中
主键
自动生成
<selectKey> 序列化
有时候我们不仅仅是通过返回 int 影响行数来确定数据是否插入成功就行了,因为我们总是会用到这个刚刚插入的自增
主键
,比如主子表入库,子表需要主表的 id,那这个时候我们再去数据库查就显得有点 low 了~ 关于数据库中
主键
的生成无非就两种,一种是 int 类型的自增,一种是 varchar 类型的非自增(例如:UUID)。 在 Mybatis 中,提供了 selectKey 来帮我们获取新增的
主键
,同时通过 selectKey 可以很容易的实现自增还是非自增规则的需
求
。 下面从
Oracle
跟 MySQL
Java SE
62,622
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章