mybatisプロジェクトでoracleストレージ・プロシージャを呼び出す方法(procedure)
問題のようです.このブログでは、spring+springmvc+mybatisプロジェクトでoracleのストレージ・プロシージャ(procedure)を呼び出す方法について話していますが、主にmybatisの下でストレージ・プロシージャを呼び出す方法について話しています.
1、まずoralceにストレージプロセスを書く
この過程はどういう意味ですか.簡単にv_を入力しますval 1、プロシージャはパラメータv_を定義するval3,v_val2 = v_val1+v_val 3,出力v_val2.ちなみにoralceでストレージ・プロシージャを呼び出す方法は、次のとおりです.
明らかに、出力はhello wordです
今本題に入りますが、mybatisでどうやって呼び出しますか?
まずxmlファイルを作成し、具体的にどのようにxmlファイルを作成するか、springmvcプロジェクトでmybatisのxmlファイルを呼び出すかなどの基礎問題を作成します.前のブログを見て、spring+springmvc+mybatisプロジェクトを構築します.
次にsql文を書きます.内容は次のとおりです.
JAvaでこのように呼び出します
このとき出力されるのはhello wordです.
特に申明!特に申明!特に申明!
ストレージ・プロシージャを呼び出すとき、xmlにはめちゃくちゃなフォーマットがないでください.一部のプログラマーは自分のコードを美化することに慣れています.これはいいことですが、ここで石を運んで自分の足を壊す可能性があります.例えば、好きな人がいます.
さわやかに見えますか?とてもさわやかで、しかしポインタの誤りを報告することができて、だから私は各位に注意して、これはコードがきれいかどうかを気にしないでください、使うことができて、{}の間で改行しないでください!改行しないで!改行しないで!改行しないで!改行しないで!改行しないで!改行しないで!
重要なことは7回言って、スペースを入れてもいいかと聞かれたら、私はただ、あなたが楽しくていいとしか言えません.
もちろん、複雑なストレージプロセスのパラメータが多く、長いので、一行を書くのは読みにくいですが、どうすればいいですか.パラメータの間で改行できます.たとえば、次のようにします.
それでもいいです.
コードの手で打つと、字が漏れたり、字が間違ったり、説明がはっきりしない現象が避けられません.皆さんの批判と指導を歓迎します.人身攻撃は絶対にしないでください.役に立つと思ったら、教えてください.励ましてください.
1、まずoralceにストレージプロセスを書く
create or replace procedure p_test(
v_val1 in varchar2,
v_val2 out varchar2
) is
v_val3 varchar2(10) :='word';
begin
v_val2 := v_val1||v_val3;
end;
この過程はどういう意味ですか.簡単にv_を入力しますval 1、プロシージャはパラメータv_を定義するval3,v_val2 = v_val1+v_val 3,出力v_val2.ちなみにoralceでストレージ・プロシージャを呼び出す方法は、次のとおりです.
declare
v_test1 varchar2(10);
begin
p_test('hello ',v_test1);
dbms_output.put_line(v_test1);
end;
明らかに、出力はhello wordです
今本題に入りますが、mybatisでどうやって呼び出しますか?
まずxmlファイルを作成し、具体的にどのようにxmlファイルを作成するか、springmvcプロジェクトでmybatisのxmlファイルを呼び出すかなどの基礎問題を作成します.前のブログを見て、spring+springmvc+mybatisプロジェクトを構築します.
次にsql文を書きます.内容は次のとおりです.
<select id="getProcedure" statementType="CALLABLE" parameterType="java.util.Map">
{call p_test(#{val1,mode=IN,jdbcType=VARCHAR},#{val2,mode=OUT,jdbcType=VARCHAR})}
</select>
JAvaでこのように呼び出します
Map map = new HashMap<String,String>();
map.put("val1","hello ");
testMapper.getProcedure(map);// ,testMapper , testMapper , ,void
System.out.println(map.get("val2"));
このとき出力されるのはhello wordです.
特に申明!特に申明!特に申明!
ストレージ・プロシージャを呼び出すとき、xmlにはめちゃくちゃなフォーマットがないでください.一部のプログラマーは自分のコードを美化することに慣れています.これはいいことですが、ここで石を運んで自分の足を壊す可能性があります.例えば、好きな人がいます.
{
call p_test(#{val1,mode=IN,jdbcType=VARCHAR},#{val2,mode=OUT,jdbcType=VARCHAR})
}
さわやかに見えますか?とてもさわやかで、しかしポインタの誤りを報告することができて、だから私は各位に注意して、これはコードがきれいかどうかを気にしないでください、使うことができて、{}の間で改行しないでください!改行しないで!改行しないで!改行しないで!改行しないで!改行しないで!改行しないで!
重要なことは7回言って、スペースを入れてもいいかと聞かれたら、私はただ、あなたが楽しくていいとしか言えません.
もちろん、複雑なストレージプロセスのパラメータが多く、長いので、一行を書くのは読みにくいですが、どうすればいいですか.パラメータの間で改行できます.たとえば、次のようにします.
{call p_test(#{val1,mode=IN,jdbcType=VARCHAR},
#{val2,mode=OUT,jdbcType=VARCHAR})}
それでもいいです.
コードの手で打つと、字が漏れたり、字が間違ったり、説明がはっきりしない現象が避けられません.皆さんの批判と指導を歓迎します.人身攻撃は絶対にしないでください.役に立つと思ったら、教えてください.励ましてください.