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

 更新时间:2023年12月11日 08:44:14   作者:不语  
这篇文章主要为大家介绍了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使用@调用类的资料请关注脚本之家其它相关文章!

相关文章

  • Java中system.exit(0) 和 system.exit(1)区别

    Java中system.exit(0) 和 system.exit(1)区别

    本文主要介绍了Java中system.exit(0) 和 system.exit(1)区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Java中ArrayList同步的2种方法分享

    Java中ArrayList同步的2种方法分享

    这篇文章主要分享了Java中ArrayList同步的2种方法,Collections.synchronizedList()的方法,这个方法要进行串行访问以及使用CopyOnWriteArrayList,下面分享内容需要的小伙伴可以参考一下
    2022-03-03
  • java实现短地址服务的方法(附代码)

    java实现短地址服务的方法(附代码)

    大多数情况下URL太长,字符多,不便于发布复制和存储,本文就介绍了通过java实现短地址服务,减少了许多使用太长URL带来的不便,需要的朋友可以参考下
    2015-07-07
  • SpringRetry重试框架的具体使用

    SpringRetry重试框架的具体使用

    在项目开发中,经常会遇到需要重试的地方。本文主要介绍了SpringRetry重试框架的具体使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Java多线程编程之使用Exchanger数据交换实例

    Java多线程编程之使用Exchanger数据交换实例

    这篇文章主要介绍了Java多线程编程之使用Exchanger数据交换实例,本文直接给出实例代码,需要的朋友可以参考下
    2015-05-05
  • Windows10系统下JDK1.8环境变量的配置

    Windows10系统下JDK1.8环境变量的配置

    今天带大家学习在Windows10系统下怎么配置JDK1.8环境变量,文中有非常详细的安装及配置教程,对正在学习的小伙伴们很有帮助,需要的朋友可以参考下
    2021-05-05
  • Java实现一致性Hash算法详情

    Java实现一致性Hash算法详情

    这篇文章主要介绍了Java实现一致性Hash算法详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • 一文搞懂Spring中@Autowired和@Resource的区别

    一文搞懂Spring中@Autowired和@Resource的区别

    @Autowired 和 @Resource 都是 Spring/Spring Boot 项目中,用来进行依赖注入的注解。它们都提供了将依赖对象注入到当前对象的功能,但二者却有众多不同,并且这也是常见的面试题之一,所以我们今天就来盘它
    2022-08-08
  • Spring底层原理深入分析

    Spring底层原理深入分析

    Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能
    2022-07-07
  • spring cloud中微服务之间的调用以及eureka的自我保护机制详解

    spring cloud中微服务之间的调用以及eureka的自我保护机制详解

    这篇文章主要介绍了spring cloud中微服务之间的调用以及eureka的自我保护机制详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07

最新评论