mybatis調(diào)用存儲(chǔ)過(guò)程的實(shí)例代碼
一、提出需求
查詢得到男性或女性的數(shù)量, 如果傳入的是0就女性否則是男性
二、準(zhǔn)備數(shù)據(jù)庫(kù)表和存儲(chǔ)過(guò)程
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',"男"); -- 創(chuàng)建存儲(chǔ)過(guò)程(查詢得到男性或女性的數(shù)量, 如果傳入的是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 $ -- 調(diào)用存儲(chǔ)過(guò)程 DELIMITER ; SET @user_count = 0; CALL mybatis.ges_user_count(1, @user_count); SELECT @user_count;
三、編輯userMapper.xml
編輯userMapper.xml文件,添加如下的配置項(xiàng)
<!-- 查詢得到男性或女性的數(shù)量, 如果傳入的是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>
四、編寫單元測(cè)試代碼
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 * 測(cè)試調(diào)用存儲(chǔ)過(guò)程 */ public class Test6 { @Test public void testGetUserCount(){ SqlSession sqlSession = MyBatisUtil.getSqlSession(); /** * 映射sql的標(biāo)識(shí)字符串, * me.gacl.mapping.userMapper是userMapper.xml文件中mapper標(biāo)簽的namespace屬性的值, * getUserCount是select標(biāo)簽的id屬性值,通過(guò)select標(biāo)簽的id屬性值就可以找到要執(zhí)行的SQL */ String statement = "me.gacl.mapping.userMapper.getUserCount";//映射sql的標(biāo)識(shí)字符串 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(); } }
總結(jié)
以上所述是小編給大家介紹的mybatis調(diào)用存儲(chǔ)過(guò)程的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- mybatis調(diào)用mysql存儲(chǔ)過(guò)程(返回參數(shù),單結(jié)果集,多結(jié)果集)
- 關(guān)于mybatis調(diào)用存儲(chǔ)過(guò)程獲取返回值問(wèn)題
- MyBatis如何調(diào)用存儲(chǔ)過(guò)程與存儲(chǔ)函數(shù)
- mybatis調(diào)用sqlserver存儲(chǔ)過(guò)程返回結(jié)果集的方法
- Mybatis調(diào)用Oracle存儲(chǔ)過(guò)程的方法圖文詳解
- Mybatis調(diào)用MySQL存儲(chǔ)過(guò)程的簡(jiǎn)單實(shí)現(xiàn)
- Mybatis傳list參數(shù)調(diào)用oracle存儲(chǔ)過(guò)程的解決方法
- Mybatis調(diào)用存儲(chǔ)過(guò)程的案例
相關(guān)文章
Spring Boot使用過(guò)濾器和攔截器分別實(shí)現(xiàn)REST接口簡(jiǎn)易安全認(rèn)證示例代碼詳解
這篇文章主要介紹了Spring Boot使用過(guò)濾器和攔截器分別實(shí)現(xiàn)REST接口簡(jiǎn)易安全認(rèn)證示例代碼,通過(guò)開發(fā)實(shí)踐,理解過(guò)濾器和攔截器的工作原理,需要的朋友可以參考下2018-06-06java property配置文件管理工具框架過(guò)程詳解
這篇文章主要介紹了java property配置文件管理工具框架過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11Java使用EasyExcel動(dòng)態(tài)添加自增序號(hào)列
本文將介紹如何通過(guò)使用EasyExcel自定義攔截器實(shí)現(xiàn)在最終的Excel文件中新增一列自增的序號(hào)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09Java中Pattern.compile函數(shù)的使用詳解
這篇文章主要介紹了Java中Pattern.compile函數(shù)的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08spring cloud升級(jí)到spring boot 2.x/Finchley.RELEASE遇到的坑
這篇文章主要介紹了spring cloud升級(jí)到spring boot 2.x/Finchley.RELEASE遇到的坑,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08Java多線程實(shí)現(xiàn)之Executor詳解
這篇文章主要介紹了Java多線程實(shí)現(xiàn)之Executor詳解,Executor 給他一個(gè) Runnable,他就能自動(dòng)很安全的幫你把這個(gè)線程執(zhí)行完畢2023-08-08
Executor 通過(guò)創(chuàng)建線程池的方式來(lái)管理線程,需要的朋友可以參考下Java實(shí)現(xiàn)Html轉(zhuǎn)Pdf的方法
這篇文章主要介紹了Java實(shí)現(xiàn)Html轉(zhuǎn)Pdf的方法,實(shí)例分析了java基于ITextRenderer類操作頁(yè)面及系統(tǒng)自帶字體生成pdf文件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07