使用 MyBatis 检索十六进制字符串
retrieve Hex string using MyBatis
我正在使用 Vertica 和 MyBatis。
- 我在 Vertica 中将二进制信息存储为 long 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 实际上是 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.
我正在使用 Vertica 和 MyBatis。
- 我在 Vertica 中将二进制信息存储为 long 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 实际上是 table.
当我获取数据时,我得到 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.