【发布时间】:2019-05-24 01:00:29
【问题描述】:
我正在使用 Vertica 和 MyBatis。
- 我在 Vertica 中将二进制信息存储为长 varbinary 列
- 我想以十六进制形式检索它,所以我在映射器中有这段代码
<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>
- 在我使用的模型中
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 实际上是表中的 Long varbinary。
当我获取数据时,我得到 Null。
我什至尝试使用byte[] instead of String long_varibary_column,但我还是得到了 Null。
有什么线索吗?
【问题讨论】:
-
您是否尝试过指定列别名?即
to_hex(long_varibary_column) as long_varibary_column -
@ave 没有运气
-
使用列别名,它对我有用。这是一个可执行文件demo。
-
@ave 非常感谢!您的解决方案有效。请您回答这个问题,以便我接受并支持您的回答。
-
完成。很高兴知道它有效! =)
标签: blob mybatis vertica varbinary