一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - mybatis調用存儲過程的實例代碼

mybatis調用存儲過程的實例代碼

2021-01-25 11:50動力節點 Java教程

這篇文章主要介紹了mybatis調用存儲過程的實例,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

一、提出需求

  查詢得到男性或女性的數量, 如果傳入的是0就女性否則是男性

二、準備數據庫表和存儲過程

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

三、編輯userMapper.xml

  編輯userMapper.xml文件,添加如下的配置項

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

四、編寫單元測試代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package 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.MyBatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
 
/**
* @author gacl
* 測試調用存儲過程
*/
public class Test6 {
  
  @Test
  public void testGetUserCount(){
    SqlSession sqlSession = MyBatisUtil.getSqlSession();
    /**
    * 映射sql的標識字符串,
    * me.gacl.mapping.userMapper是userMapper.xml文件中mapper標簽的namespace屬性的值,
    * getUserCount是select標簽的id屬性值,通過select標簽的id屬性值就可以找到要執行的SQL
    */
    String statement = "me.gacl.mapping.userMapper.getUserCount";//映射sql的標識字符串
    Map<String, Integer> parameterMap = new HashMap<String, Integer>();
    parameterMap.put("sexid", 1);
    parameterMap.put("usercount", -1);
    sqlSession.selectOne(statement, parameterMap);
    Integer result = parameterMap.get("usercount");
    System.out.println(result);
    sqlSession.close();
  }
}

總結

以上所述是小編給大家介紹的mybatis調用存儲過程的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://blog.sina.com.cn/s/blog_9c6852670102wxrz.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩欧美中文字幕一区 | 日本一区二区免费在线观看 | 亚洲国产中文字幕在线视频综合 | 久久精品国产色蜜蜜麻豆国语版 | 九九99热久久999精品 | 亚洲日日操 | 236z最新伦理| 亚洲国产果果在线播放在线 | 亚洲性综合网 | 亚洲精品6久久久久中文字幕 | 国产午夜精品久久理论片 | 欧美18-19sex性处 | 香蕉97超级碰碰碰免费公 | 国产日本欧美亚洲精品视 | 成年人免费看的视频 | 亚洲午夜久久久久影院 | 日本一区免费观看 | 精品视频免费在线 | 国产色网 | 大肚孕妇的高h辣文 | 国产成人精品第一区二区 | 日本高免费观看在线播放 | 色网在线观看 | 逼毛片 | 护士柔佳 | 国产乱叫456在线 | 日本在线一区二区 | 午夜综合网 | 手机跑分排行最新排名 | 欧美日韩在线观看精品 | 亚洲精品一区二区三区在线看 | 国产精品天天看特色大片不卡 | 国产精品久久久精品日日 | 91粉色视频在线导航 | 香蕉eeww99国产在线观看 | 91精品国产综合久久香蕉 | 成人网欧美亚洲影视图片 | 欧美贵妇vs高跟办公室 | 双龙高h | 521色香蕉网站在线观看 | 日韩欧美一区二区三区四区 |