用注解的方式写sql语句
时间: 2023-09-26 22:07:32 浏览: 149
Mybatis基于注解形式的sql语句生成实例代码
在 MyBatis 中,您可以使用注解的方式来编写 SQL 查询语句。使用注解的方式可以避免手动编写 XML 文件,使代码更加简洁。下面是一个使用注解方式编写的查询用户信息的例子:
```
@Select("SELECT * FROM user WHERE id = #{id}")
User findUserById(@Param("id") Long id);
```
在这个例子中,我们使用`@Select`注解来指定 SQL 查询语句。`#{id}`是一个参数占位符,它表示查询语句中的参数。`@Param("id")`注解用来指定参数名称,它与 SQL 查询语句中的参数名称相对应。
如果 SQL 查询语句比较复杂,您可以使用 MyBatis 的动态 SQL 功能来避免 SQL 注入问题。例如:
```
@Select("<script>"
+ "SELECT * FROM user "
+ "<where>"
+ "<if test='name != null'>AND name = #{name}</if>"
+ "<if test='age != null'>AND age = #{age}</if>"
+ "</where>"
+ "</script>")
List<User> findUsers(@Param("name") String name, @Param("age") Integer age);
```
在这个例子中,我们使用`<script>`标签来指定 SQL 查询语句。在`<where>`标签中,我们使用`<if>`标签来判断参数是否为空,从而动态拼接 SQL 查询语句。`#{name}`和`#{age}`是参数占位符。`@Param("name")`和`@Param("age")`注解用来指定参数名称。
请注意,在编写动态 SQL 语句时,为了避免 SQL 注入问题,您应该使用`#{}`占位符来引用参数值,而不是`${}`占位符。
阅读全文