在myBatis中对resulttype使用自定义类型处理程序

时间:2017-01-06 10:15:03

标签: java sql mybatis

在我们的项目中,我们使用mybatis并在字符串上有一个自定义类型处理程序,默认情况下从结果中删除html和其他内容。我们可以通过在resultmap中设置不同的typehandler来覆盖它。

但是我现在有一种情况,在select中使用动态查询,所以像这样

<select id="executeQuery" resultType="String">
${sql}
</select>

现在我不希望结果被剥离其html,所以我想使用自定义类型处理程序。通常我会在结果映射中执行此操作,但问题是我不知道将在查询中使用的列的名称。有没有解决这个问题的方法,我可以在这个结果上使用另一个类型处理程序?

1 个答案:

答案 0 :(得分:0)

对于遇到此问题的其他人。最后,我使用了以下解决方法:

SELECT (${sql}) AS value

虽然可以在sql语句中使用哪种查询,但这有一些限制。例如,在ms sql中,不能使用没有top,offset或for xml的订单查询。