MyBatis提供了一些動態(tài)標簽來構(gòu)建動態(tài)SQL語句,常用的動態(tài)標簽有if、choose、when、otherwise、foreach等。下面是一個示例,演示如何使用MyBatis的動態(tài)標簽:
假設(shè)有一個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文件中,使用動態(tài)標簽來構(gòu)建動態(tài)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>
在上面的示例中,使用了
在調(diào)用selectUsers方法時,可以傳入不同的參數(shù)來獲取符合條件的用戶列表:
Map<String, Object> params = new HashMap<>();
params.put("username", "Tom");
params.put("age", 20);
List<User> users = userMapper.selectUsers(params);
以上就是使用MyBatis動態(tài)標簽構(gòu)建動態(tài)SQL語句的示例,通過合理使用動態(tài)標簽可以方便靈活地構(gòu)建復(fù)雜的SQL查詢條件。