java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > mybatis xml使用@调用类

mybatis的xml中使用@符号调用类方法示例

作者:不语

这篇文章主要为大家介绍了mybatis的xml中使用@符号调用类方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

两种方式

我们可以在mybatis的xml中通过@符合的方式调用Java类获得返回值进行操作,两种方式

1、调用类静态方法

调用类的静态方法:"@类全路径@方法名(入参)" 如 "@com.modules.api.controller.UsersController@testStatic()"

示例xml

<select id="test" resultType="com.modules.user.entity.StUsers">
       select * from st_users where id = 7000
       <if test="@com.modules.api.controller.UsersController@testStatic()">
           or id = 7001
       </if>
    </select>

被调用方法
粗体

public static   boolean testStatic() {
        return true;
    }

日志输出sql 确实拼接了or的sql

JDBC Connection [com.mysql.jdbc.JDBC4Connection@189690a6] will not be managed by Spring
==>  Preparing: select * from st_users where id = 7000 or id = 7001
==> Parameters:

2. 使用spring依赖注入的方式

例如 #{#deptName} IN ( #{@sdss.getDeptAndChild( #user.deptId )} ) 其中 @sdss 是spring容器中的bean名称 后面就是点方法传入参

示例

/**
 * 数据权限 实现
 */
@Service("sdss")
public class SysDataScopeService {
    public boolean testStatic() {
        return true;
    }
}

xml

<select id="test" resultType="com.modules.user.entity.StUsers">
       select * from st_users where id = 7000
       <if test="@sdss@testStatic()">
           or id = 7001
       </if>
    </select>

以上就是mybatis的xml中使用@符号调用类方法示例的详细内容,更多关于mybatis xml使用@调用类的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文