Tôi có một sql bằng văn bản trong một tập tin mapper MyBatis mà là một cái gì đó như thế này:truy cập public static string cuối cùng trong sql mybatis trong các tập tin mapper
<select id="somesql">
select a,b,c from tbl_name where d = ?
</select>
Giá trị giữ chỗ cho d
là vụ phải được một hằng số khai báo trong một tập tin gọi Constants.java
như:
public static final String d = "d_value";
làm thế nào để thay thế giữ chỗ với giá trị mà không thực sự đi qua một tham số trong xây dựng <select>
? Tôi đã thử #{com.pkg.name.Constants.d}
nhưng nó không hoạt động.
Không có mã hóa cứng !!!
Trên thực tế, hoạt động này !! Nhưng lưu ý rằng giá trị được dán "nguyên trạng", không thoát, không có dấu ngoặc kép. Vì vậy, nếu bạn không sử dụng nó cho các con số, bạn ít nhất phải thêm dấu ngoặc kép. –
Trên thực tế, chúng tôi đang thay thế bất kỳ thông số nào được chuyển thành người lập bản đồ bằng cách này, ngoại trừ thực tế, chúng tôi không chỉ sử dụng hằng số STATIC FINAL, mà còn có thể trực tiếp gọi một số phương thức tĩnh như sau: ${@foo.product.constant.StoreType @getWhereClausule()} – kensai