Mybatis注解开发@Select执行参数和执行sql语句的方式(最新详解)

 更新时间:2023年07月20日 09:33:17   作者:晓小邰  
@Select 是 Mybatis 框架中的一个注解,用于执行 SQL 查询语句,并把查询结果映射到指定的 Java 对象中,这篇文章主要介绍了Mybatis注解开发@Select执行参数和执行sql语句的方式,需要的朋友可以参考下

1.执行传参

@Select 是 Mybatis 框架中的一个注解,用于执行 SQL 查询语句,并把查询结果映射到指定的 Java 对象中。具体来说,@Select 注解会将注解中的 SQL 查询语句交给 Mybatis 框架进行解析和执行。在解析过程中,Mybatis 会通过 #{} 占位符获取查询语句中的参数,并将这些参数传递给底层的 JDBC 驱动程序,最终执行 SQL 查询并返回查询结果。例如,以下是一个简单的使用 @Select 注解查询用户信息的示例:

public interface UserMapper {
    @Select("SELECT id, name, age FROM user WHERE id = #{userId}")
    User getUserById(int userId);
}

在上面的示例中,@Select 注解指定了一个 SELECT 查询语句,其中包含一个占位符 #{userId},该占位符将在执行查询时被替换为方法参数 userId 的值。同时,@Param 注解指定了该方法参数的名称,使得 Mybatis 能够正确地解析查询语句中的参数。当调用 getUserById 方法时,Mybatis 框架会自动解析并执行查询语句,并将查询结果映射到 User 对象中返回。

2.执行sql语句

@Select 注解中使用了一个 ${sql} 占位符,该占位符将在运行时被替换为方法参数 sql 的值。同时,这里直接使用了 ${sql} 占位符,因此可以将任何 SQL 语句作为方法参数传递进来。例如,如果要查询所有图书信息,可以调用 getBooks("SELECT * FROM book") 方法,将 SQL 语句作为字符串参数传递进来。Mybatis 框架会根据传递进来的 SQL 语句动态生成 SQL 查询语句,并执行查询操作。

public interface BookMapper {
    @Select("${sql}")
    List<Book> getBooks(String sql);
}

到此这篇关于Mybatis注解开发@Select执行参数和执行sql语句的方式的文章就介绍到这了,更多相关Mybatis注解开发内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MyBatis-Plus自动化填充的踩坑记录及解决

    MyBatis-Plus自动化填充的踩坑记录及解决

    这篇文章主要介绍了MyBatis-Plus自动化填充的踩坑记录及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • springboot使用com.github.binarywang包实现微信网页上的支付和退款

    springboot使用com.github.binarywang包实现微信网页上的支付和退款

    最近做项目需要实现在pc端需要实现微信的支付,本文主要介绍了springboot使用com.github.binarywang包实现微信网页上的支付和退款,具有一定的参考价值,感兴趣的可以了解一下
    2024-05-05
  • Java并发编程中的ReentrantLock类详解

    Java并发编程中的ReentrantLock类详解

    这篇文章主要介绍了Java并发编程中的ReentrantLock类详解,ReentrantLock是juc.locks包中的一个独占式可重入锁,相比synchronized,它可以创建多个条件等待队列,还支持公平/非公平锁、可中断、超时、轮询等特性,需要的朋友可以参考下
    2023-12-12
  • springcloud 服务降级的实现方法

    springcloud 服务降级的实现方法

    这篇文章主要介绍了springcloud 服务降级的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Java 简化正则表达式的使用

    Java 简化正则表达式的使用

    本篇文章主要介绍了Java 简化正则表达式使用的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Java为什么使用补码进行计算的原因分析

    Java为什么使用补码进行计算的原因分析

    这篇文章主要介绍了Java为什么使用补码进行计算的原因分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Java 设计模式以虹猫蓝兔的故事讲解建造者模式

    Java 设计模式以虹猫蓝兔的故事讲解建造者模式

    建造者模式,是一种对象构建模式 它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象。本文将通过示例讲解建造者模式,需要的可以参考一下
    2022-04-04
  • JAVA中寻找最大的K个数解法

    JAVA中寻找最大的K个数解法

    寻找最大的K个数,这个是面试中比较常见的一道题,网上也有很多例子,在这里是比较传统的解法
    2014-04-04
  • java EasyExcel面向Excel文档读写逻辑示例详解

    java EasyExcel面向Excel文档读写逻辑示例详解

    这篇文章主要为大家介绍了java EasyExcel面向Excel文档读写逻辑示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 基于SpringBoot2的Shiro最简配置操作(两个文件)

    基于SpringBoot2的Shiro最简配置操作(两个文件)

    这篇文章主要介绍了基于SpringBoot2的Shiro最简配置操作(两个文件),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01

最新评论