Para definir um
BIT(M)
coluna no MySQL Para
M==1
setBoolean(int parameterIndex, boolean x)
Do javadoc
Para
M>1
O suporte para
BIT(M)
onde M!=1
é problemático com JDBC como BIT(M)
só é necessário com SQL-92 "completo" e apenas alguns bancos de dados suportam isso. Verifique aqui Mapeando SQL e tipos de Java:8.3 .3 BIT
O seguinte funciona para mim com MySQL (pelo menos com MySQL 5.0.45, Java 1.6 e MySQL Connector/J 5.0.8)
...
PreparedStatement insert = con.prepareStatement(
"INSERT INTO bittable (bitcolumn) values (b?)"
);
insert.setString(1,"111000");
...
Isso usa a sintaxe especial b'110101010' do MySQL para definir o valor das colunas BIT.