sql >> Base de Datos >  >> RDS >> Oracle

Usando MyBatis con la función XMLType de Oracle existeNode()

Es posible. No deberías codificar el ? en tu MyBatis xml. MyBatis tiene un lenguaje especial para sql dinámico, sugiero leer el Guía de usuario de MyBatis 3 .

Cambia tu mapa sql,

<select id="select" parameterType="String" resultMap="urlList">
    select 
                x.t002_id
    from
                 t002_metadata x  
    where
        existsNode(x.t002_xml, #{id}) = 1;
</select>

Puede que no sea #{id}, depende de cómo llame a select de Mybatis. Por ejemplo, podría estar usando la etiqueta @Param.