tengo un SQL escrito en un archivo mapeador MyBatis que es algo como esto:Acceso cadena public static final en mybatis SQL en archivos asignador
<select id="somesql">
select a,b,c from tbl_name where d = ?
</select>
Se supone que el valor de marcador de posición para d
a ser una constante declarada en un archivo llamado Constants.java
como:
public static final String d = "d_value";
¿Cómo se sustituye el marcador de posición con el valor sin tener que pasar un parámetro en el <select>
construcción? Intenté #{com.pkg.name.Constants.d}
pero no funcionó.
No hard coding !!!
En realidad, esto funciona !! Pero tenga en cuenta que el valor se pega "tal cual", sin escapatoria, sin comillas. Entonces, si no lo usa para números, al menos tiene que agregar presupuestos. –
En realidad, estamos reemplazando los parámetros pasados en los mapeadores por esto, excepto por el hecho de que no usamos solo constantes STATICAS FINALES, sino que también puede llamar directamente a un método estático, como este: ${@foo.product.constant.StoreType @getWhereClausule()} – kensai