MyBatis提供了一些動態標簽來構建動態SQL語句,常用的動態標簽有if、choose、when、otherwise、foreach等。下面是一個示例,演示如何使用MyBatis的動態標簽:
假設有一個User類,包含id、username和age屬性:
public class User {
private Long id;
private String username;
private Integer age;
// 省略getter和setter方法
}
在Mapper接口中定義一個查詢方法:
public interface UserMapper {
List<User> selectUsers(@Param("username") String username, @Param("age") Integer age);
}
在Mapper.xml文件中,使用動態標簽來構建動態SQL語句:
<select id="selectUsers" parameterType="java.util.Map" resultType="User">
SELECT * FROM user
<where>
<if test="username != null">
AND username = #{username}
</if>
<if test="age != null">
AND age = #{age}
</if>
</where>
</select>
在上面的示例中,使用了
在調用selectUsers方法時,可以傳入不同的參數來獲取符合條件的用戶列表:
Map<String, Object> params = new HashMap<>();
params.put("username", "Tom");
params.put("age", 20);
List<User> users = userMapper.selectUsers(params);
以上就是使用MyBatis動態標簽構建動態SQL語句的示例,通過合理使用動態標簽可以方便靈活地構建復雜的SQL查詢條件。