SSM环境下调用mysql存储过程

创建存储过程

CREATE PROCEDURE `sp_name`(IN age VARCHAR(30),OUT num INTEGER)
BEGIN
SELECT * FROM sys_user where sys_user.age > age;
SELECT count(*) into num FROM sys_user;
END

mapper

<select id="selectByAge" statementType="CALLABLE" parameterType="map" resultType="SysUser">
    {call sp_name( #{age,mode=IN,jdbcType=VARCHAR}, #{num,mode=OUT,jdbcType=INTEGER} )}
</select>

dao

List<SysUser> selectByAge( Map<String,Object> map );

service

public void findByAge() {
    //参数集合
    Map<String, Object> paramMap = new HashMap<>();
    //入参
    paramMap.put("age", "18");
    //出参,可以不写(如果写,值随意填)
    paramMap.put("num", 1);
    
    List<SysUser> users = baseMapper.selectByAge( map );
    int num = paramMap.get("num");
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容