1

我需要能够将默认参数传递给 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”是默认值。有没有办法做到这一点?

4

0 回答 0