您好,欢迎来到暴趣科技网。
搜索
您的当前位置:首页ibatis与存储过程(带输出参数的存储过程)

ibatis与存储过程(带输出参数的存储过程)

来源:暴趣科技网
ibatis与存储过程(带输出参数的存储过程)

全部是针对Microsoft SQL Server 2000的Stored Procedure的例子:

参照《iBATIS in Action》书写: 1. max_in_example Stored Procedure:

CREATE PROCEDURE [dbo].[max_in_example] @a INTEGER = 0 OUTPUT, @b INTEGER = 0 OUTPUT, @c INTEGER = 0 OUTPUT AS BEGIN IF (@a > @b) SET @c = @a ELSE

SET @c = @b RETURN @c END GO SqlMap:

mode=\"OUT\" />

property=\"a\"

javaType=\"int\"

property=\"c\"

javaType=\"int\"

property=\"b\" javaType=\"int\"

id=\"in_example\"

parameterMap=\"pm_in_example\"

resultClass=\"int\">

{ ? = call max_in_example(?, ?) }

Java Code:

publicstatic Integer getMax_in_example(int a, int b) throws SQLException {

Map(2);

m.put(\"a\m.put(\"b\m.put(\"c\//执行存储过程in_example

sqlMapper.queryForObject(\"in_example\

return m.get(\"c\"); }

2. swap

Stored Procedure:

CREATE PROCEDURE [dbo].[swap]

Integer>

m

=

new

HashMap@a INTEGER OUTPUT, @b INTEGER OUTPUT AS BEGIN

DECLARE @temp INTEGER

SET @temp = @a SET @a = @b SET @b = @temp END GO SqlMap:

mode=\"INOUT\" /> mode=\"INOUT\" /> parameterMap=\"swapProcedureMap\">

{ call swap(?, ?) }

id=\"swapProcedure\"

property=\"b\"

javaType=\"int\"

property=\"a\"

javaType=\"int\"

id=\"swapProcedureMap\"

Java Code:

publicstatic Map swap(int a, int b) throws SQLException { Map(2);

m.put(\"a\m.put(\"b\

//执行存储过程swap

sqlMapper.queryForObject(\"swapProcedure\

return m; }

3. maximum Stored Procedure:

CREATE PROCEDURE [dbo].[maximum] @a INT OUTPUT, @b INT OUTPUT, @c INT OUTPUT AS BEGIN IF(@a > @b) SET @c = @a

IF(@b >= @a) SET @c = @b

Integer>

m

=

new

HashMapEND GO SqlMap:

id=\"maxOutProcedure\"parameterMap=\"maxOutProcedureMap\">

{ call maximum (?, ?, ?) }

Java Code:

publicstatic Integer maximum(int a, int b) throws SQLException {

Map(2);

m.put(\"a\m.put(\"b\m.put(\"c\

//执行存储过程maximum

sqlMapper.queryForObject(\"maxOutProcedure\

Integer>

m

=

new

HashMapproperty=\"c\"

jdbcType=\"INTEGER\"

id=\"maxOutProcedureMap\"

return m.get(\"c\"); }

以上的Java Code类方法都是写在相应的ProcedureDAOImpl类中,可以通过ProcedureDAOImpl类调用相应得方法和传入对应参数来与数据库存储过程交互。

注意:在SqlMap.xml文件中中参数的顺序跟中”?”的顺序一致。

如:a, b, c; ? = procedurename(?, ?) 则,第一个问号表示a,依次类推。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoquwan.com 版权所有 湘ICP备2024080961号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务