使用 MyBatis 检索十六进制字符串

retrieve Hex string using MyBatis

我正在使用 Vertica 和 MyBatis。

  1. 我在 Vertica 中将二进制信息存储为 long 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;}
}

我在模型中使用了字符串,因为查询有 to_hex(long_varibary_column),即使列 long_varbinary_column 实际上是 table.

上的 Long varbinary

当我获取数据时,我得到 Null。

我什至尝试过 byte[] instead of String long_varibary_column,但我得到的仍然是 Null。

知道哪里出了问题吗?

要通过列名引用结果,您需要为其分配别名。

select to_hex(long_varibary_column) long_varibary_column
from some_table_name
limit 1

这里是demo.