程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> MyBatis進修教程(六)-挪用存儲進程

MyBatis進修教程(六)-挪用存儲進程

編輯:關於JAVA

MyBatis進修教程(六)-挪用存儲進程。本站提示廣大學習愛好者:(MyBatis進修教程(六)-挪用存儲進程)文章只能為提供參考,不一定能成為您想要的結果。以下是MyBatis進修教程(六)-挪用存儲進程正文


1、提出需求

  查詢獲得男性或女性的數目, 假如傳入的是0就女性不然是男性

2、預備數據庫表和存儲進程

create table p_user( 
id int primary key auto_increment, 
name varchar(),
sex char()
); 
insert into p_user(name,sex) values('A',"男"); 
insert into p_user(name,sex) values('B',"女"); 
insert into p_user(name,sex) values('C',"男"); 
-- 創立存儲進程(查詢獲得男性或女性的數目, 假如傳入的是就女性不然是男性)
DELIMITER $
CREATE PROCEDURE mybatis.ges_user_count(IN sex_id INT, OUT user_count INT)
BEGIN 
IF sex_id= 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 = ;
CALL mybatis.ges_user_count(, @user_count);
SELECT @user_count; 

3、編纂userMapper.xml

  編纂userMapper.xml文件,添加以下的設置裝備擺設項

<!-- 
查詢獲得男性或女性的數目, 假如傳入的是就女性不然是男性
-->
<select id="getUserCount" parameterMap="getUserCountMap" statementType="CALLABLE">
CALL mybatis.ges_user_count(?,?)
</select>
<!--
parameterMap.put("sexid", );
parameterMap.put("usercount", -);
-->
<parameterMap type="java.util.Map" id="getUserCountMap">
<parameter property="sexid" mode="IN" jdbcType="INTEGER"/>
<parameter property="usercount" mode="OUT" jdbcType="INTEGER"/>
</parameterMap> 

4、編寫單位測試代碼

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 Test {
@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", );
parameterMap.put("usercount", -);
sqlSession.selectOne(statement, parameterMap);
Integer result = parameterMap.get("usercount");
System.out.println(result);
sqlSession.close();
}
}

以上所述是小編給年夜家引見的MyBatis進修教程(六)-挪用存儲進程,願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對網站的支撐!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved