java获得刚刚更新的记录集的id(主键)

java获得刚刚更新的记录集的id(主键),第1张

在你执行插入语句后,随后执行这个查询:

ResultSet rs=stexecuteQuery("SELECT @@IDENTITY AS currentID")

if(rsnext()){

Systemoutprintln(rsgetLong("currentID")); //返回id

}

参考,把下面这个sql拿去SqlServer执行就好了,是否主键都有注释的:

select aname table_name,

bname column_name,

ename data_type, -- 字段类型

blength char_length, -- 指示nvarchar的长度(不是表定义里的长度)

bscale data_scale, -- 指示number小数的长度

dvalue comments, -- 字段注释

bisnullable, -- 字段是否允许为空值,1允许,0不允许

ftext column_default, -- 字段默认值

(case when (SELECT count()

FROM sysobjects

WHERE (name in

(SELECT name

FROM sysindexes

WHERE (id = bid) AND (indid in

(SELECT indid

FROM sysindexkeys

WHERE (id = bid) AND (colid in

(SELECT colid

FROM syscolumns

WHERE (id = bid) AND (name = bname))))))) AND

(xtype = 'PK'))> 0 then 1 else 0 end) iskey -- 是否主键

from sysobjects a

inner join syscolumns b on aid=bid

left join {1} d on d{2} = bid and d{3} = bcolid

inner join systypes e on exusertype = bxusertype

left join syscomments f on bcdefault = fid

where aname = '你要的表名'

一次性插入大量数据,只能使用循环,

如:游标,while 循环语句

下面介绍While 循环插入数据,

SQL 代码如下:

IF OBJECT_ID('dboNums') IS NOT NULL

DROP TABLE dboNums;

GO

CREATE TABLE dboNums(n INT NOT NULL PRIMARY KEY);

DECLARE @max AS INT, @rc AS INT;

SET @max = 5000000;

SET @rc = 1;

INSERT INTO Nums VALUES(1);

WHILE @rc 2 <= @max

BEGIN

INSERT INTO dboNums SELECT n + @rc FROM dboNums;

SET @rc = @rc 2;

END

INSERT INTO dboNums SELECT n + @rc FROM dboNums WHERE n + @rc <= @max;

--以上函数取自Inside SQL Server 2005: T-SQL Query一书。

INSERT dboSample SELECT n, RAND(CAST(NEWID() AS BINARY(16))) FROM Nums

在insert里面加入selectKey标签就可以了 一般都是返回的int类型对应数据库是自增长字段

要注意的是: ibatis会直接返回int值 Mybatis则把int值包装在参数对象里面

public int insert(User user) {

//ibatis方式

int result = UserMapperinsert(user);

return result;

//Mybatis方式

return usergetId();}还要注意的是数据库类型不一样,生成ID的策略也不一样 可以对selectKey添加属性(名字忘记了), pre---先生成ID post---后生成ID default是post

以上就是关于java获得刚刚更新的记录集的id(主键)全部的内容,包括:java获得刚刚更新的记录集的id(主键)、我想返回数据库中表的结构字段信息,例如字段的id和表的主键,下面是我的方法,各位哥们帮忙看看。谢谢、在SQL sever 里面 是下面这种添加数据 主要是最后一个set @ReturnValue= @@IDENTITY 添加数据返回主键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9852596.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存