我正在使用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"/>
答案 0 :(得分:0)
除非mybatis为OGNL提供一些特殊的扩展功能,否则不要认为没有办法。
这并不意味着它无法在OGNL中以某种方式对核心库进行更改,只是不相信它当前。 (我的记忆可能不好,但非常确定@ fullclassname @ methodname是OGNL解决静态方法调用的唯一方法)
答案 1 :(得分: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>