我有一个conversationScope.myVar =“myValue”变量;
我想在mybatis地图中使用它,例如,
select col1, col1, conversationScope.myVar as ScopeVar
from table1;
desired result
col1 col2 ScopeVar
xxxx xxxx myValue
yyyy yyyy myValue
...
答案 0 :(得分:0)
MyBatis确实支持您需要的动态SQL。最大的诀窍是使用$ {variable}而不是#{variable}。请注意,它会让您容易受到SQL注入攻击。使用时#MyBatis使用PreparedStatements来避免SQL注入,然后
以示例为例,您有一个带方法的Mapper接口。
ComplexObject selectSomeObject(@Param("columnName") String columnName);
您的SQL地图可以在实际选择代码的一部分中使用该参数。
即
<select id="selectSomeObject" resultType="someObject">
select t1.column as ${columnName}
from table1 t1
</select>
如果您需要全局变量,请查看此问题。 MyBatis - defining a global parameter