Чтобы установить столбец BIT(M)
в MySQL
Для M==1
setBoolean(int parameterIndex, boolean x)
Из Javadoc
Устанавливает назначенный параметр в
данное булево значение Java. Водитель
преобразует это в значение SQL BIT, когда
он отправляет его в базу данных.
Для M>1
Поддержка BIT(M)
, где M!=1
проблематична для JDBC, так как BIT(M)
требуется только для «полного» SQL-92, и только несколько БД поддерживают это.
Проверьте здесь Отображение типов SQL и Java: 8.3.3 BIT
Следующее работает для меня с MySQL (по крайней мере, с MySQL 5.0.45, Java 1.6 и MySQL Connector / J 5.0.8)
...
PreparedStatement insert = con.prepareStatement(
"INSERT INTO bittable (bitcolumn) values (b?)"
);
insert.setString(1,"111000");
...
При этом используется специальный синтаксис b'110101010 'MySQL для установки значения для столбцов BIT.