Mybatis调用存储过程

开始之前

1、搭建好mybatis环境并建立如下的表和对应的实体类

------------------------------------------------------------------------------------------------------

public class TUserPO {

	private Integer userId;
	
	private String userName;
	
	private Integer userAge;

	// 省略相应的get/set
}

2、建立如下存储过程

DELIMITER $$ -- 修改默认结束符

CREATE PROCEDURE getuserbyid(IN u_id INT, OUT u_name VARCHAR(255), OUT u_age INT)
	COMMENT '根据id获取用户名'
	BEGIN
		SELECT user_name, user_age FROM t_user WHERE user_id = u_id;
	END $$

DELIMITER ; -- 恢复默认结束符

3、mapper文件和dao层接口

<select id="getUserById" resultType="map" statementType="CALLABLE" parameterMap="getUserByIdParamMap">
		{call getuserbyid(?, ?, ?)} <!-- 刚刚创建的存储过程有3个参数 -->
	</select>
	<parameterMap type="java.lang.Integer" id="getUserByIdParamMap">
		<parameter property="userId" mode="IN" jdbcType="INTEGER" javaType="int"/>
	</parameterMap>
Map<String, Object> getUserById(@Param("userId")Integer userId);

测试及结果

@Test
	public void getUserByIdTest() {
		Map<String, Object> map = userMapper.getUserById(2);
		
		System.out.println(map.toString());
	}
{user_name=李四, user_age=20}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值