MyBatis SelectProvider 可以動態生成 SQL 查詢語句,適用于需要根據不同條件生成不同查詢語句的場景。以下是一個簡單的示例,展示了如何使用 SelectProvider 進行動態查詢:
@Mapper
public interface UserMapper {
@SelectProvider(type = UserProvider.class, method = "getUserById")
User getUserById(Long id);
}
public class UserProvider {
public String getUserById(Long id) {
return "SELECT * FROM user WHERE id = " + id;
}
}
<mappers>
<mapper class="com.example.UserMapper"/>
</mappers>
通過以上示例,我們可以看到如何使用 SelectProvider 實現動態查詢功能。在實際項目中,可以根據具體需求編寫更復雜的邏輯,以滿足不同的查詢條件。