I’m new to using JDBC + MySQL.
I have several 1/0 values which I want to stick into a database with a PreparedStatement. The destination column is a BIT(M!=1). I’m unclear on which of the setXXX methods to use. I can find the references for what data comes out as easily enough, but how it goes in is eluding me.
The values effectively live as an ordered collection of booleans in the objects used by the application. Also, I’ll occasionally be importing data from flat text files with 1/0 characters.
To set a
BIT(M)column in MySQLFor
M==1From the javadoc
For
M>1The support for
BIT(M)whereM!=1is problematic with JDBC asBIT(M)is only required with “full” SQL-92 and only few DBs support that.Check here Mapping SQL and Java Types: 8.3.3 BIT
The following works for me with MySQL (at least with MySQL 5.0.45, Java 1.6 and MySQL Connector/J 5.0.8)
This uses the special b’110101010′ syntax of MySQL to set the value for BIT columns.