mybatis调用存储过程返回多个结果集

我使用的是mysql数据库,映射2个实体对象:Account ,BankWater

mybaits调用的时候需要使用resultMap属性

由于mysql数据库支持存储过程使用select返回结果集,所以这里没有写out传入参数

<resultMap type="com.kay.entity.Account" id="account">
        <id column="account_id" property="accountId"/>
        <result column="account_name" property="accountName" javaType="java.lang.String" jdbcType="VARCHAR"/> 
        <result column="currency" property="currency" javaType="java.lang.String" jdbcType="VARCHAR"/> 
        <result column="balance" property="balance" javaType="java.math.BigDecimal" jdbcType="DECIMAL"/> 
        <result column="open_date" property="openTime" javaType="java.util.Date" jdbcType="DATE"/> 
        <result column="open_place" property="openPlace" javaType="java.lang.String" jdbcType="VARCHAR"/> 
        <result column="account_state" property="accountState" javaType="java.lang.String" jdbcType="VARCHAR"/> 
    </resultMap>

    <resultMap type="com.kay.entity.BankWater" id="bankwater">
        <id column="record_id"  property="recordId"/>
        <result column="in_account"  property="inAccount"  javaType="java.lang.String"  jdbcType="VARCHAR"/> 
        <result column="out_account" property="outAccount" javaType="java.lang.String" jdbcType="VARCHAR"/> 
        <result column="change_count" property="changeCount" javaType="java.math.BigDecimal" jdbcType="DECIMAL"/> 
        <result column="change_time"  property="changeTime"  javaType="java.util.Date"  jdbcType="DATE"/> 
        <result column="state" property="changeState" javaType="java.lang.String" jdbcType="VARCHAR"/> 
        <result column="detail" property="detail" javaType="java.lang.String" jdbcType="VARCHAR"/> 
    </resultMap>

    <select id="getAllInfo" statementType="CALLABLE" resultMap="account,bankwater" >
        {call pro_getinfo()
}

</select>

java调用时:

//查询所有记录的存储过程
        String s1="com.kay.dao.GetMapper.getAllInfo";
        List<List<?>> list1=session.selectList(s1);

        //对应第一个表
        System.out.println((List<Account>)list1.get(0));
        //对应第二个表
        System.out.println((List<Account>)list1.get(1));
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

带着天使反上帝 - Kaybee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值