MySQL没有boolean类型。这也是比较奇怪的现象。例:
这样是可以创建成功,但查看一下建表后的语句,就会发现,mysql把它替换成tinyint(1)。也就是说mysql把boolean=tinyInt了。
boolean类型
MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1),
MySQL里有四个常量:true,false,TRUE,FALSE,它们分别代表1,0,1,0
Hibernate中用注解方式指定boolean字段时,用[color=blue]columnDefinition = "BOOLEAN"[/color]
create table test
(
id int primary key,
bl boolean
)这样是可以创建成功,但查看一下建表后的语句,就会发现,mysql把它替换成tinyint(1)。也就是说mysql把boolean=tinyInt了。
boolean类型
MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1),
MySQL里有四个常量:true,false,TRUE,FALSE,它们分别代表1,0,1,0
Hibernate中用注解方式指定boolean字段时,用[color=blue]columnDefinition = "BOOLEAN"[/color]
@Column(name = "is_valid", columnDefinition = "BOOLEAN")
public Boolean getIsValid() {
return isValid;
}
本文解析了MySQL中Boolean类型的实现方式及其与TinyInt(1)的关系。MySQL将Boolean字段存储为1(True)和0(False),并通过示例展示了如何在Hibernate中使用注解定义此类字段。
981

被折叠的 条评论
为什么被折叠?



