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 对象中返回。

  1. 执行sql语句

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

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

猜你喜欢

转载自blog.csdn.net/m0_59799878/article/details/129875650