Create a stored procedure: DELIMITER $ USE 'test' $ DROPPROCEDUREIFEXISTS 'user _ exist' $ CREATEDEFINER 'demao '@' % 'procedure 'user _ user_selectUserByProAndCity_sp '(IN creates a stored PROCEDURE:
DELIMITER $$USE `test`$$DROP PROCEDURE IF EXISTS `user_user_selectUserByProAndCity_sp`$$CREATE DEFINER=`demao`@`%` PROCEDURE `user_user_selectUserByProAndCity_sp`(IN provinceId INT,IN cityId INT,IN pageIndex INT,IN pageSize INT)BEGIN DECLARE proId INT DEFAULT 0; DECLARE ciId INT DEFAULT 0; SELECT *,(SELECT COUNT(*) FROM user_user_t WHEREprovince_id LIKE CONCAT('%',provinceId,'%' ) AND city_id LIKE CONCAT('%',cityId,'%' ) ) AS userCountFROM user_user_tWHERE province_id LIKE CONCAT('%',provinceId,'%' ) AND city_id LIKE CONCAT('%',cityId,'%' ) LIMIT pageIndex,pageSize; END$$
Call in Mapper:
{CALL user_user_selectUserByProAndCity_sp(#{provinceId,mode=IN,jdbcType=INTEGER},#{cityId,mode=IN,jdbcType=INTEGER},#{pageIndex,mode=IN,jdbcType=INTEGER},#{pageSize,mode=IN,jdbcType=INTEGER})}
IN, input parameter, out, outgoing parameter.