3

我正在用 MyBatis 编程,我有这个代码

<if test="@mypackage.verylongname.utilities.MyBatisUtilities@isNotEmpty(recipient)">
    and DOCUMENTS.recipient = #{recipient}
</if>

我想有办法避免使用我的类 MyBatisUtilities 的完整路径名。它在那里吗?

在 mybatis-config 文件中添加别名不起作用

<typeAlias alias="MyBatisUtilities" type="mypackage.verylongname.utilities.MyBatisUtilities"/>
4

2 回答 2

0

不要以为没有办法不,除非mybatis为OGNL提供了一些特殊的扩展功能。

这并不意味着它~不能~在 OGNL 内以某种方式通过更改核心库来完成,只是现在不要相信它。(我的记忆力可能不好,但可以肯定的是,@fullclassname@methodname 是 OGNL 知道的解决静态方法调用的唯一方法)

于 2012-10-11T12:32:18.467 回答
0

"bind" 允许您从 OGNL 表达式中创建一个变量。有关更多信息,请参阅: http: //mybatis.github.io/mybatis-3/dynamic-sql.html

<select id="selectBlogsLike" parameterType="Blog" resultType="Blog">
    <bind name="pattern" value="'%' + _parameter.getTitle() + '%'" />
    SELECT * FROM BLOG
    WHERE title LIKE #{pattern}
 </select>
于 2013-04-25T09:07:39.523 回答