mysql boolean类型与Java boolean类型的对照关系

1.情景展示

在sql当中,boolean类型与Java当中的boolean存在怎样的对照关系?

2.具体分析

在MySQL中,BOOLEAN 或 BOOL 类型实际上是以 TINYINT(1) 来存储的。它通常用于表示真(TRUE)或假(FALSE)值。

在实际操作中,虽然直接可以使用 TRUE 和 FALSE 关键字,但 MySQL 内部会将它们分别转换为 1 和 0。

3.解决方案

实际运用

虽然,mysql支持boolean类型,但是,在设计表阶段,我更倾向于使用varchar(1)来表示,如:

如上图所示,status字段存储0或1。

mybatis可以帮我们自动实现boolean类型的数据转换:(0:false,1:true)

对应到Java上面,我们可以使用boolean直接接收。(在使用实体类接收的时候,直接使用boolean即可。)

同样地,当我们在Java当中使用boolean类型,转换成sql时,boolean值会自动被转成0或1。

但是,如果使用Map接收返回值的话,如果需要使用boolean类型的话,我们需要手动转换。

需要手动转换,否则,接收到的是字符串:"1"/"0"。

即使将1或0转成true或false,也不行。

需要手动转换,否则,接收到的是字符串:"true"/"false"。

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

posted @ 2025-01-13 17:54  Marydon  阅读(140)  评论(0)    收藏  举报