MyBatis Mapper Xml存储过程调用:提供默认参数值

时间:2015-12-09 02:49:43

标签: java sql-server spring-mybatis

我需要能够将默认参数传递给MyBatis xml映射器。最初,这就是我在做的事情:

<select     id="someFunction"
            parameterType="com.myCompany.Member"
            resultMap="memberMap"
            statementType="CALLABLE" >
            {call dbo.trp_MembersGet_ById_sp  (#{memberId,jdbcType=INTEGER,mode=IN}, 1)}
</select>

在这种情况下,默认参数是第二个参数'1'。这似乎有效,但数据库中的所有跟踪都使这成为BATCH调用。我需要他们成为RPC。传递一个额外的参数可以解决这个问题:

<select id="someFunction"
                parameterType="com.myCompany.Member"
                resultMap="memberMap"
                statementType="CALLABLE" >
                {call dbo.trp_MembersGet_ById_sp  (#{memberId,jdbcType=INTEGER,mode=IN}, 
{secondParam,jdbcType=INTEGER,mode=IN})}
</select>

...但我宁愿让它成为默认参数,所以我不必让我的模型有这个额外的字段。

所以,理想情况下,我认为我喜欢这样的事情(下面不起作用):

<select     id="someFunction"
            parameterType="com.myCompany.Member"
            resultMap="memberMap"
            statementType="CALLABLE" >
            {call dbo.trp_MembersGet_ById_sp  (#{memberId,jdbcType=INTEGER,mode=IN}, {1,jdbcType=INTEGER,mode=IN})}
</select>

其中“1”是默认值。有没有办法做到这一点?

0 个答案:

没有答案