在mybatis调用mysql的存储过程

1.service中调用dao中的方法

2.在dao中(mybatis自动生成的),调用xml配好的方法,注意id

3.xml配置调用mysql中写好的存储过程(out是返回值,即map.get('key')对应的key值)

maventest.ges_user_count(?,?)--maventest是数据库名,ges_user_count是存储过程名 参数中一个是输入,一个是输出,如果多个输入,参数?,?,?...即可

4.mysql中的存储过程

DELIMITER $$

USE `maventest`$$

DROP PROCEDURE IF EXISTS `ges_user_count`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `ges_user_count`(IN sex_id INT, OUT user_count INT)
BEGIN  
IF sex_id=0 THEN
SELECT COUNT(*) FROM maventest.p_user WHERE p_user.sex='女' INTO user_count;
ELSE
SELECT COUNT(*) FROM maventest.p_user WHERE p_user.sex='男' INTO user_count;
END IF;
END$$

DELIMITER ;



原文地址:https://www.cnblogs.com/dulinan/p/12033099.html