【发布时间】:2010-12-08 18:43:02
【问题描述】:
我是使用 JDBC + MySQL 的新手。
我有几个 1/0 值,我想使用 PreparedStatement 将它们粘贴到数据库中。目标列是 BIT(M!=1)。我不清楚使用哪种 setXXX 方法。我可以很容易地找到哪些数据出来的参考,但它是如何输入的却让我望而却步。
值在应用程序使用的对象中有效地作为布尔值的有序集合存在。另外,我偶尔会从 1/0 字符的纯文本文件中导入数据。
【问题讨论】:
-
顺便说一句,在 java 中将位存储为布尔数组是对内存的巨大浪费。 boolean 的具体大小取决于运行时环境实现,通常介于 1-4 字节(!)之间。考虑使用 java.util.BitSet
-
关于您的要求。 jdbc 连接器没有明智的方式可以理解布尔 [] 而无需转换为 BIT(M)。您必须将数组转换为更合适的东西。如果为我的解决方案转换为 String 或转换为 byte[] 是您的选择
-
嗯,它实际上并不是一个布尔数组。我有一个有序的可区分二进制值集合。
标签: java mysql jdbc prepared-statement