java调用MySql存储过程

sherry521 2010-03-31 08:13:07
java调用MySql存储过程,怎样在存储过程中返回刚插入数据的自增长ID呢?
...全文
195 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
krudy2005 2010-04-01
  • 打赏
  • 举报
回复
#3是对的
智鹿软件 2010-04-01
  • 打赏
  • 举报
回复
应该和SQL Server中的系统变量一样吧!
ladybirds2008 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wwwtyb 的回复:]

引用 3 楼 so185582 的回复:

CREATE PROCEDURE [insert_employee_1]
@name_1 [varchar](50),
@age_2 [varchar](50),
@address_3 [varchar](50),
@id int out


AS
INSERT INTO dbo.h_sms_……
[/Quote]有那么点意思。。。呵呵。。。
wwwtyb 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 so185582 的回复:]

CREATE PROCEDURE [insert_employee_1]
@name_1 [varchar](50),
@age_2 [varchar](50),
@address_3 [varchar](50),
@id int out


AS
INSERT INTO dbo.h_sms_PublicUserMo_tb(UserID,P……
[/Quote]

结构是正确的,但是存储过程需要修改:
CREATE PROCEDURE [insert_employee_1]
@name_1 [varchar](50),
@age_2 [varchar](50),
@address_3 [varchar](50),
@id int out


AS
INSERT INTO dbo.h_sms_PublicUserMo_tb(UserID,ProductID,FeatureStr,CreateTime)
VALUES (@name_1,@age_2,@address_3,getdate())
select @id=last_insert_id();

return @id

GO
operatezhang 2010-04-01
  • 打赏
  • 举报
回复
好像是这个样子的把!
so185582 2010-04-01
  • 打赏
  • 举报
回复
CREATE PROCEDURE [insert_employee_1]
@name_1 [varchar](50),
@age_2 [varchar](50),
@address_3 [varchar](50),
@id int out


AS
INSERT INTO dbo.h_sms_PublicUserMo_tb(UserID,ProductID,FeatureStr,CreateTime)
VALUES (@name_1,@age_2,@address_3,getdate())
--select @@identity
set @id=@@identity
return

GO




public int getId(){

int id = 0;
Connection conn = null;
Statement stmt = null;

try {
conn = this.db.getConnection();
stmt = conn.createStatement();
String sql = "{call dbo.insert_employee_1(?,?,?,?)}";
CallableStatement st = conn.prepareCall(sql);
st.setString(1,"13811217419");
st.setString(2,"fdasfdsa");
st.setString(3,"fdasfdsafads");
st.registerOutParameter(4, Types.INTEGER);
st.execute();
id = st.getInt(4);
st.close();
} catch (Exception e) {
logger.debug(e.toString());
} finally {
try {
if(conn!=null)
conn.close();
} catch (SQLException e) {
logger.debug("getContent "+e.toString());
}
}
return id;
}
小李子 2010-04-01
  • 打赏
  • 举报
回复
如果你用Hibernate之类的,存储对象后对象会获得id,否则就再查一下
生活 2010-04-01
  • 打赏
  • 举报
回复
关注下。。。。
  • 打赏
  • 举报
回复
Mysql的存储过程?
sherry521 2010-04-01
  • 打赏
  • 举报
回复
这是MYSQL的存储过程语法吗?我问MYSQL,不是问的MS SQLServer

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧