我想使用一个通用的查询模板在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>发布于 2016-07-04 13:27:42
你为什么不换一种方式来做呢?我不认为你所说的特性是由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>https://stackoverflow.com/questions/38177390
复制相似问题