【问题标题】:Save short array to MySQL db with JDBC?使用 JDBC 将短数组保存到 MySQL 数据库?
【发布时间】:2013-06-08 01:27:52
【问题描述】:

标题几乎说明了一切。

这是我尝试过的;

Short[] messageObj = new Short[] { 1, 2, 3 };
PreparedStatement stmt = conn.prepareStatement("INSERT INTO table (audioData) VALUES (?)");
stmt.setArray(1, stmt.getConnection().createArrayOf("short", messageObj));
stmt.executeUpdate();

audioData 列的类型是 varbinary(8200)。我不确定要使用什么。

【问题讨论】:

  • 数组的大小可以不同吗?它们有最大尺寸吗?
  • 是的。实际上是8200。
  • 那是8200字节,对吧?

标签: java mysql arrays jdbc short


【解决方案1】:

JConnector JDBC 驱动程序将 VARBINARY 映射到 Java byte[] 类型。因此,您需要先将Short[] 转换为byte[],然后才能保存它们。

参考:

【讨论】:

  • @fge - 除了他(据说)以Short[]而不是short[]开头。
  • ShortBuffer 实际上有一个toByteAray 方法吗?还是只是一个例子?
  • @m_poorUser - 你读过javadoc吗?我确定它会回答这个问题。
  • 我在 javadoc 中看不到它,这就是我问的原因。我指的是 fge 已删除的评论。
猜你喜欢
  • 2012-09-29
  • 2014-01-12
  • 1970-01-01
  • 2015-09-22
  • 2011-10-14
  • 2017-03-22
  • 2014-02-28
  • 1970-01-01
  • 2015-04-21
相关资源
最近更新 更多