JavaJDBC,MySQL:将位放入位(M!=1)列
我不熟悉使用JDBC+MySQL
我有几个1/0值,我想用PreparedStatement将它们粘贴到数据库中。目标列是一位(M!=1)。我不清楚该使用哪种setXXX方法。我可以很容易地找到哪些数据的引用,但它是如何进入的却让我难以捉摸
这些值实际上是应用程序使用的对象中布尔值的有序集合。此外,我偶尔会从包含1/0个字符的平面文本文件中导入数据
你可以在下面搜索框中键入要查询的问题!
我不熟悉使用JDBC+MySQL
我有几个1/0值,我想用PreparedStatement将它们粘贴到数据库中。目标列是一位(M!=1)。我不清楚该使用哪种setXXX方法。我可以很容易地找到哪些数据的引用,但它是如何进入的却让我难以捉摸
这些值实际上是应用程序使用的对象中布尔值的有序集合。此外,我偶尔会从包含1/0个字符的平面文本文件中导入数据
# 1 楼答案
在MySQL中设置
BIT(M)
列对于
M==1
来自javadoc
对于
M>1
JDBC对
BIT(M)
的支持存在问题,因为BIT(M)
只在“完整”SQL-92中需要,只有少数数据库支持检查这里Mapping SQL and Java Types: 8.3.3 BIT
以下内容适用于MySQL(至少适用于MySQL 5.0.45、Java 1.6和MySQL Connector/J 5.0.8)
这使用MySQL的特殊b'110101010'语法来设置位列的值
# 2 楼答案
可以将get/setObject与字节数组(byte[])一起使用。每个字节包含8位,最低有效位位于最后一个数组元素中