TINYINT⾃动转变成BIT的解决⽅法
今天在通过ReultSet获取mysql字段信息的时候,发现tinyint(1)类型的字段都⾃动变成了bit(0),开始觉得奇怪,查看官⽹说明后才发现,在没有设置tinyInt1isBit的情况下,这种转换是⾃动的。
知道问题所在了,下⾯说说解决⽅法,tinyInt1isBit这个参数默认情况下是true,在创建jdbc连接的时候将它重置为false即可。
jdbc:mysql://127.0.0.1:3306/db_name?tinyInt1isBit=false
这⾥还要注意⼀点的事,jdbc中的各种类型都有默认的显⽰值,如下图
类型名称显⽰长度数据库类型JAVA类型JDBC类型索引(int) VARCHAR L+N VARCHAR java.lang.String12
CHAR N CHAR java.lang.String1
BLOB L+N BLOB java.lang.byte[]-4
TEXT65535VARCHAR java.lang.String-1
INTEGER4INTEGER UNSIGNED java.lang.Long4
TINYINT3TINYINT UNSIGNED java.lang.Integer-6
SMALLINT5SMALLINT UNSIGNED java.lang.Integer5
MEDIUMINT8MEDIUMINT UNSIGNED java.lang.Integer4
BIT1BIT java.lang.Boolean-7
BIGINT20BIGINT UNSIGNED java.math.BigInteger-5
FLOAT4+8FLOAT java.lang.Float7
DOUBLE22DOUBLE java.lang.Double8
DECIMAL11DECIMAL java.math.BigDecimal3
BOOLEAN1同TINYINT
ID11PK (INTEGER UNSIGNED)java.lang.Long4
DATE10DATE java.sql.Date91
TIME8TIME java.sql.Time92
DATETIME19DATETIME java.sql.Timestamp93
TIMESTAMP19TIMESTAMP java.sql.Timestamp93
91bigdecimal转换为integer
YEAR4YEAR java.sql.Date
YEAR4YEAR java.sql.Date

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。