1。需要を築きます
入っている人が0の場合、女性の数を照会します。そうでなければ男性
2。データベースのテーブルとストアドプロシージャを準備します
テーブルp_user(id int primary key auto_increment、name varchar()、sex char()); p_user(name、sex)values( 'a'、 "male")に挿入; p_user(name、sex)values( 'b'、 "female")に挿入; p_user(name、sex)values( 'c'、 "male")に挿入; - ストアドプロシージャ(男性または女性の数を取得するためのクエリ、入っている人が女性である場合、それ以外の場合は男性の場合)delimiter $ create mybatis.ges_user_count(sex_id int、out user_count int)は、sex_id = thenselect count(*)mybatis.p_user count; mybatis.p_user Where p_user.sex = 'male' into user_count; end if; end $ - コールストアドプロシージャーデリミター; set @user_count =; call mybatis.ges_user_count(、@user_count); select @user_count;
3。USERMAPPER.xmlを編集します
usermapper.xmlファイルを編集し、次の構成アイテムを追加します
<! - クエリは男性または女性の数を取得します。受信者が女性の場合、そうでなければ男性 - > <select id = "getusercount" parametermap = "getusercountmap" callable "> call mybatis.ges_user_count(?、?</select> < - ); - > <parametermap type = "java.util.map" id = "getusercountmap"> <parameter property = "sexid" mode = "in" jdbctype = "integer"/> <parameterプロパティ= "usercount" mode = "out" jdbctype = "integer" // </parametermap>
4.単体テストコードを書きます
packed me.gacl.test; import java.util.hashmap; import java.util.list; import java.util.map; import me.gacl.custom.model.conditionuser; import me.gacl.domain.user; import me.gacl.util.utis. org.junit.test;/*** @author gacl*テストコールコールストアドプロシージャ*/パブリッククラステスト{@testpublic void testgetusercount(){sqlsession sqlsession = mybatisutil.getsqlsession(); usermapper.xmlファイルのマッパータグ * getUsercountは、selectタグのid属性値です。実行されるSQLは、SelectタグのID属性値を介して見つけることができます。 */stringステートメント= "me.gacl.mapping.usermapper.getUsercount"; //マッピングSQL Map <String、Integer> parametermap = new Hashmap <String、Integer>(); parametermap.put( "sexid"、); "usercount"; sqlsession( result = parametermap.get( "usercount"); system.out.println(result); sqlsession.close();}}上記は、編集者によって紹介されたMyBatis Learningチュートリアル(VI)です - ストアドプロシージャを呼び出します。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!