我有一个对话cope.myvar =“ myValue”变量;

我想在mybatis地图中使用它,例如

select col1, col1, conversationScope.myVar as ScopeVar
from table1;

desired result

col1  col2  ScopeVar

xxxx  xxxx   myValue

yyyy  yyyy   myValue

...
有帮助吗?

解决方案

Mybatis确实支持您所需的性质的动态SQL。最大的技巧是使用$ {变量}而不是#{actible}。请小心,它使您容易受到SQL注射攻击的影响。当使用#mybatis时,请使用准备剂来避免SQL注入,然后

因此,例如,例如,您有一个带有方法的映射器接口。

ComplexObject selectSomeObject(@Param("columnName") String columnName);

您的SQL地图可以在实际选择代码的一部分中使用参数。

IE

<select id="selectSomeObject" resultType="someObject"> 
    select t1.column as ${columnName}    
    from table1 t1
 </select>

如果您需要全局变量,请查看此问题。 mybatis-定义全局参数

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top