tinyint数据库类型

1. tinyint(1) 映射为 Boolean 类型

在 MySQL 中,tinyint(1) 常用于表示布尔值 0/1。为了便于处理,Java 类可以将其映射为 Boolean 类型,这样数据库值 0 会对应 false1 对应 true。这种映射在布尔状态的数据库字段中非常常见,比如标记删除状态的 deleted 字段:

java 复制代码
// 数据库字段
@Column("deleted")
private Boolean deleted;

此时,我们可以使用 truefalse 赋值:

java 复制代码
// 赋值为已删除
deleted = true;

// 赋值为未删除
deleted = false;

在 ORM 框架(例如 MyBatis、Hibernate 等)中,一般会自动完成数据库 0/1 与 Java false/true 的转换,使得数据存取更直观。

2. tinyint 类型作为数值映射为 Integer 类型

在一些业务场景中,tinyint 用作数值字段。为了兼容 MySQL 中 tinyint 的取值范围(-128 到 127),建议映射为 Java 的 Integer 类型,避免值超出范围引起的数据转换错误。

tinyint 超出 tinyint(1)(如 tinyint(2)tinyint(3)),或者表示其他数值含义时,使用 Integer 更符合实际需求。比如,status 字段表示状态码(0、1、2...):

java 复制代码
@Column("status")
private Integer status;

赋值时可以直接使用整数值:

java 复制代码
// 设置状态为激活
status = 1;

// 设置状态为禁用
status = 0;

这种数值映射适用于需要表达更广泛数值范围的 tinyint 字段,使得操作更灵活。

注意事项

在使用 tinyint 映射 BooleanInteger 时,确保使用的 ORM 框架或数据库驱动支持该映射规则。MyBatis、Hibernate 等框架一般都能处理这些类型转换,但在配置映射文件或注解时要特别注意字段类型,以确保数据一致性。

相关推荐
存在morning29 分钟前
【PySpark 学习笔记 三】DataFrame API 入门
android·java·数据库
YSoup40 分钟前
2026 安卓面试助手APP(安卓八股、题库)
android·面试·职场和发展
xcyxiner1 小时前
flutter 运行到模拟器上
android·前端·flutter
Android-Flutter1 小时前
android Glide 源码流程分析
android·kotlin
Android-Flutter1 小时前
android Glide 使用详解
android·kotlin
恋猫de小郭2 小时前
Dart 3.13 的到底改了什么?为什么很重要?有什么坑?
android·前端·flutter
HZZD_HZZD2 小时前
3T-UEM 数据建模实战:三维立方体 + LAM/ELA 双归因怎么落地?
android
Carson带你学Android3 小时前
腾讯正式上线AI应用生成平台:一句话生成 App,还能直接上架商店
android·ai编程
小陈的进阶之路3 小时前
Claude Code辅助测试:API测试与pytest自动化
android·开发语言·kotlin
三少爷的鞋3 小时前
Kotlin 与 Java,不是简单的高低之分
android