Mybatis之-調用預存程序

來源:互聯網
上載者:User

一、提出需求

  查詢得到男性或女性的數量, 如果傳入的是0就女性否則是男性 二、準備資料庫表和預存程序

 1 create table p_user(   2     id int primary key auto_increment,   3     name varchar(10), 4     sex char(2) 5 );  6  7 insert into p_user(name,sex) values('A',"男");   8 insert into p_user(name,sex) values('B',"女");   9 insert into p_user(name,sex) values('C',"男");  10 11 -- 建立預存程序(查詢得到男性或女性的數量, 如果傳入的是0就女性否則是男性)12 DELIMITER $13 CREATE PROCEDURE mybatis.ges_user_count(IN sex_id INT, OUT user_count INT)14 BEGIN  15 IF sex_id=0 THEN16 SELECT COUNT(*) FROM mybatis.p_user WHERE p_user.sex='女' INTO user_count;17 ELSE18 SELECT COUNT(*) FROM mybatis.p_user WHERE p_user.sex='男' INTO user_count;19 END IF;20 END 21 $22 23 -- 調用預存程序24 DELIMITER ;25 SET @user_count = 0;26 CALL mybatis.ges_user_count(1, @user_count);27 SELECT @user_count;
三、編輯userMapper.xml

  編輯userMapper.xml檔案,添加如下的配置項

 1 <!--  2         查詢得到男性或女性的數量, 如果傳入的是0就女性否則是男性 3      --> 4     <select id="getUserCount" parameterMap="getUserCountMap" statementType="CALLABLE"> 5         CALL mybatis.ges_user_count(?,?) 6     </select> 7      8     <!-- 9         parameterMap.put("sexid", 0);10         parameterMap.put("usercount", -1);11      -->12     <parameterMap type="java.util.Map" id="getUserCountMap">13         <parameter property="sexid" mode="IN" jdbcType="INTEGER"/>14         <parameter property="usercount" mode="OUT" jdbcType="INTEGER"/>15     </parameterMap>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.