![](/img/trans.png)
[英]How to return key after insert using MyBatis when the id/uuid as is stored as binary?
[英]How to return Id insert stored procedure + mybatis
我有一個返回ID(SQL Server 2005)的存儲過程:
BEGIN
INSERT INTO
rolTemplateWeek(rolWeek,employee,date_insert)
VALUES(@numberRol,@employeeId,getDate())
Select @id = @@IDENTITY
END
Mapper.xml
<insert id="saveRol" parameterType="com.service.specual.dto.RolWeek" statementType="CALLABLE">
{ call saveRolWeek(
#{numberRol,javaType=Integer,jdbcType=INTEGER,mode=IN},
#{employeeId,javaType=Integer,jdbcType=INTEGER,mode=IN},
#{id,javaType=Integer,jdbcType=INTEGER,mode=OUT}
)}
</insert>
RolWeek.class
public class RolWeek {
private int id;
private int numberRol;
private int employeeId;
.... get & setters
Mapper.java
RolWeek rolWeek= new RolWeek ();
rolWeek.setNumberRol(120);
rolWeek.setEmployeeId(100);
public int saveServiceRolWeek(RolWeek rolWeek);
插入正確但不返回我的ID,只能返回“ 1”?我如何才能返回插入的ID?
--
-- Use output clause, make sure id is OUTPUT
--
CREATE PROCEDURE saveRolWeek
@numberRol INT,
@employeeId INT,
@id INT OUTPUT
AS
BEGIN
SELECT @id =
INSERT INTO rolTemplateWeek(rolWeek, employee, date_insert)
OUTPUT INSERTED.ID
VALUES(@numberRol, @employeeId, getDate());
END
-- Sample call with 1, 1 as parameters
DECLARE @retid int = null;
EXECUTE dbo.saveRolWeek 1, 1, @retid = @id OUTPUT;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.