Я пытаюсь поместить длинный WKT (длинную строку о географической информации) в пространственную функцию оракула SDO_GEOMETRY
, чтобы преобразовать WKT в тип геометрии оракула, используя mybatis. В базе данных нет столбца, в котором хранится WKT, он используется только в качестве параметра в указанной функции. Тип java элемента: String
, когда я пытаюсь вставить его, он возвращает ошибку, говоря String слишком долго. Это указывает на то, что строка не превращается в CLOB. Как мне это сделать?
Я пытался использовать это в начале файла mybatis .xml:
<resultMap type="example.Building" id="BaseResultMap">
<result property="geom" column="geom" jdbcType="CLOB"
javaType = "java.lang.String" typeHandler ="example.Utils.OracleClobTypeHandler"/>
</resultMap>
и у меня настроен класс OracleClobTypeHandler
.
Я также пытался использовать #{wkt,jdbcType=CLOB}
, но это ни к чему не привело.
РЕДАКТИРОВАТЬ: Это SetParameter
метод в OracleClobTypeHandler
:
@Override
public void setParameter(PreparedStatement arg0, int arg1, Object arg2, JdbcType arg3) throws SQLException {
CLOB clob = CLOB.getEmptyCLOB();
clob.setString(1, (String) arg2);
arg0.setClob(arg1, clob);
}