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中import的作用

    详解java中import的作用

    这篇文章主要介绍了java中import作用,import与package机制相关,这里先从package入手,再讲述import以及static import的作用。
    2021-04-04
  • SpringBoot内部外部配置文件加载顺序解析

    SpringBoot内部外部配置文件加载顺序解析

    这篇文章主要介绍了SpringBoot内部外部配置文件加载顺序解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java长字符串加密的实现

    Java长字符串加密的实现

    在Java中,字符串是一种常见的数据类型,我们经常需要对其进行加密和解密,本文主要介绍了Java长字符串加密的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • JDK动态代理与CGLib动态代理的区别对比

    JDK动态代理与CGLib动态代理的区别对比

    今天小编就为大家分享一篇关于JDK动态代理与CGLib动态代理的区别对比,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Java中FileWriter类的常用方法说明

    Java中FileWriter类的常用方法说明

    这篇文章主要介绍了Java中FileWriter类的常用方法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 经典再现 基于JAVA平台开发坦克大战游戏

    经典再现 基于JAVA平台开发坦克大战游戏

    经典再现,这篇文章主要介绍了基于JAVA平台开发坦克大战游戏的相关代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Java 实现简单静态资源Web服务器的示例

    Java 实现简单静态资源Web服务器的示例

    这篇文章主要介绍了Java 实现简单静态资源Web服务器的示例,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-11-11
  • selenium-java实现自动登录跳转页面方式

    selenium-java实现自动登录跳转页面方式

    利用Selenium和Java语言可以编写一个脚本自动刷新网页,首先,需要确保Google浏览器和Chrome-Driver驱动的版本一致,通过指定网站下载对应版本的浏览器和驱动,在Maven项目中添加依赖,编写脚本实现网页的自动刷新,此方法适用于需要频繁刷新网页的场景,简化了操作,提高了效率
    2024-11-11
  • Java中synchronized 的4个优化技巧

    Java中synchronized 的4个优化技巧

    本文主要介绍了Java中synchronized的4个优化技巧,synchronized在JDK 1.5 时性能是比较低的,然而在后续的版本中经过各种优化迭代,它的性能也得到了前所未有的提升,下文更多相关资料需要的小伙伴可以参考一下
    2022-05-05
  • struts2+jsp+jquery+Jcrop实现图片裁剪并上传实例

    struts2+jsp+jquery+Jcrop实现图片裁剪并上传实例

    本篇文章主要介绍了struts2+jsp+jquery+Jcrop实现图片裁剪并上传实例,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01

最新评论