MyBatis参数传递

时间:2016-07-04 05:18:07

标签: mysql spring mybatis spring-mybatis

我想使用通用查询模板在myBatis-3中进行过滤。我的模板看起来像这样:

<sql id="filter">
    SELECT * FROM (${subquery}) LIMIT ${page}, 20
</sql>

子查询占位符可以接受任何查询。我试图将子查询作为参数传递。但不幸的是,这不起作用,子查询是空的。我想这个房产的价值可能接受动态价值吗?

<select
    id="find"
    parameterType="some.page"
    resultMap="map">
    <include refid="some.namespace.filter">
        <property name="subquery" value="${subquery}"/>
        <property name="page" value="#{page}"/>
    </include>
</select>

<sql id="subquery">
    SELECT * FROM test_table ORDER BY id
</sql>

1 个答案:

答案 0 :(得分:0)

为什么不改变另一种方式呢?我不认为你所说的功能得到了MyBatis的支持,也许你可以像下面这样做;

<select
    id="find"
    parameterType="some.page"
    resultMap="map">
    SELECT * FROM (<include refid="subquery">) t LIMIT ${page}, 20
</select>

<sql id="subquery">
    SELECT * FROM test_table ORDER BY id
</sql>