赞
踩
@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 对象中返回。
@Select 注解中使用了一个 ${sql} 占位符,该占位符将在运行时被替换为方法参数 sql 的值。同时,这里直接使用了 ${sql} 占位符,因此可以将任何 SQL 语句作为方法参数传递进来。
例如,如果要查询所有图书信息,可以调用 getBooks("SELECT * FROM book") 方法,将 SQL 语句作为字符串参数传递进来。Mybatis 框架会根据传递进来的 SQL 语句动态生成 SQL 查询语句,并执行查询操作。
- public interface BookMapper {
- @Select("${sql}")
- List<Book> getBooks(String sql);
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。