首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MyBatis参数传递

MyBatis参数传递
EN

Stack Overflow用户
提问于 2016-07-04 13:18:07
回答 1查看 758关注 0票数 0

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

代码语言:javascript
复制
<sql id="filter">
    SELECT * FROM (${subquery}) LIMIT ${page}, 20
</sql>

子查询占位符可以接受任何查询。我尝试将子查询作为参数进行传递。但不幸的是,这不起作用,子查询是空的。我想知道属性的值是否可以接受动态值?

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

发布于 2016-07-04 13:27:42

你为什么不换一种方式来做呢?我不认为你所说的特性是由MyBatis支持的,也许你可以这样做:

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38177390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档