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

时间:2019-05-24 01:00:29

标签: blob mybatis vertica varbinary

我正在使用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实际上是表上的Long varbinary。

当我获取数据时,我得到了空。

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

任何提示出了什么问题吗?

1 个答案:

答案 0 :(得分:1)

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

select to_hex(long_varibary_column) long_varibary_column
from some_table_name
limit 1

这里是demo