получить шестнадцатеричную строку, используя MyBatis - PullRequest
0 голосов
/ 24 мая 2019

Я использую Vertica и MyBatis.

  1. Я храню двоичную информацию в Vertica в виде длинного столбца varbinary
  2. Я хочу получить его как шестнадцатеричный код, поэтому у меня есть этот код в маппере

<resultMap id="data" type="some_table_name">
        <result property="long_varibary_column" column="long_varibary_column" />
    </resultMap>

<select id=“getlong_varibary_column” resultMap=“data”>

Select to_hex(long_varibary_column)
From some_table_name
Limit 1
</select>
  1. В модели, которую я использовал

Public class some_table_name{

 String long_varibary_column;

  Public void setLong_varibary_column(String long_varibary_column){this. long_varibary_column= long_varibary_column;}
}

Я использовал String в модели, так как запрос имеет to_hex(long_varibary_column), хотя столбец long_varbinary_column на самом деле является длинным varbinary в таблице.

Когда я получаю данные, я получаю Null.

Я даже пытался с byte[] instead of String long_varibary_column, все же я получаю Null.

Есть какие-нибудь подсказки, что идет не так?

1 Ответ

1 голос
/ 25 мая 2019

Чтобы сослаться на результат по имени столбца, вам нужно присвоить ему псевдоним.
т.е.

select to_hex(long_varibary_column) long_varibary_column
from some_table_name
limit 1

Вот демо .

...